Являются ли веб-службы JSON уязвимыми для атак CSRF?

Я создаю веб-сервис, который использует исключительно JSON для своего контента запросов и ответов (то есть, никаких полезных нагрузок, закодированных в форме).

Is a web service vulnerable to CSRF attack if the following are true?

Any POST request without a top-level JSON object, e.g., {"foo":"bar"}, will be rejected with a 400. For example, a POST request with the content 42 would be thus rejected.

Any POST request with a content-type other than application/json will be rejected with a 400. For example, a POST request with content-type application/x-www-form-urlencoded would be thus rejected.

All GET requests will be Safe, and thus not modify any server-side data.

Clients are authenticated via a session cookie, which the web service gives them after they provide a correct username/password pair via a POST with JSON data, e.g. {"username":"[email protected]", "password":"my password"}.

Вспомогательный вопрос:PUT а такжеDELETE запросы когда-либо уязвимы для CSRF? Я спрашиваю, потому что кажется, что большинство (все?) Браузеры запрещают эти методы в формах HTML.

РЕДАКТИРОВАТЬ: Добавлен элемент № 4.

РЕДАКТИРОВАТЬ: Много хороших комментариев и ответов до сих пор, но никто не предлагал конкретную CSRF-атаку, которой уязвим этот веб-сервис.

Ответы на вопрос(5)

Ваш ответ на вопрос