Os serviços web JSON são vulneráveis ​​a ataques de CSRF?

Estou construindo um serviço da web que usa exclusivamente o JSON para seu conteúdo de solicitação e resposta (ou seja, nenhum formulário de cargas codificadas).

Um serviço da Web é vulnerável a ataques de CSRF se o seguinte for verdadeiro?

QualquerPOST solicitação sem um objeto JSON de nível superior, por exemplo,{"foo":"bar"}, será rejeitado com um 400. Por exemplo, umPOST pedido com o conteúdo42 seria assim rejeitado.

QualquerPOST pedido com um tipo de conteúdo diferente deapplication/json será rejeitado com um 400. Por exemplo, umPOST solicitação com tipo de conteúdoapplication/x-www-form-urlencoded seria assim rejeitado.

Todos os pedidos GET serãoSeguroe, portanto, não modificará nenhum dado do lado do servidor.

Os clientes são autenticados por meio de um cookie de sessão, que o serviço da Web fornece a eles depois de fornecer um par de nome de usuário / senha correto por meio de um POST com dados JSON, por exemplo,{"username":"[email protected]", "password":"my password"}.

Pergunta complementar: sãoPUT eDELETE solicitações sempre vulneráveis ​​ao CSRF? Eu pergunto porque parece que a maioria dos navegadores (todos?) Desaprovam esses métodos em formulários HTML.

EDIT: Adicionado item # 4.

EDIT: Muitos bons comentários e respostas até agora, mas ninguém ofereceu um ataque CSRF específico para o qual este serviço web é vulnerável.

questionAnswers(5)

yourAnswerToTheQuestion