5
JSON WebサービスはCSRF攻撃に対して脆弱ですか?
リクエストとレスポンスのコンテンツにJSONのみを使用する(つまり、フォームでエンコードされたペイロードを使用しない)Webサービスを構築しています。 次の場合、WebサービスはCSRF攻撃に対して脆弱ですか? どれでもPOSTトップレベルのJSONオブジェクトのない要求は、例えば、{"foo":"bar"}たとえば、400で拒否されますが、POST内容の要求は42これ拒否されるだろう。 任意POST以外のコンテンツ・タイプの要求application/json例えば400で拒否されますが、POSTコンテンツタイプの要求はapplication/x-www-form-urlencoded、したがって拒否されるであろう。 すべてのGETリクエストは安全であるため、サーバー側のデータは変更されません。 クライアントはセッションCookieを介して認証されます{"username":"user@example.com", "password":"my password"}。これは、JSONデータを使用したPOSTを介して正しいユーザー名とパスワードのペアを提供した後にWebサービスがクライアントに提供します。 補助的な質問:CSRFに対して脆弱なものはPUTありDELETEますか?ほとんどの(すべて?)ブラウザがHTMLフォームでこれらのメソッドを許可していないように思われるので、私は尋ねます。 編集:アイテム#4を追加しました。 編集:これまでのところ多くの良いコメントと回答がありますが、このWebサービスが脆弱な特定のCSRF攻撃を提供した人は誰もいません。