Springを使用してRESTful APIを1つ作成しました。ログイン応答で秘密鍵をHttpOnly&Secure cookieとして送信しています。ログイン後、すべての残りのリクエストはそのCookieを確認し、毎回更新します。
私のWebサイトがCSRFに対して脆弱である可能性はありますか? Spring MVCとApache 2.4を使用しています
まず、CSRFとXSRFはどちらもクロスサイトリクエストフォージェリを参照します。
2番目に、抗CSRFトークンをCookieに入れない限り、少なくともHttpOnly属性を可能であれば設定する必要があります。
HttpOnly属性を設定できない状況があります。たとえば、Cookie(AngularJS)の値を読み取ることができる必要があるJavaScriptコードを使用する場合です。
REST APIをHTTPS経由で提供する場合は、CSRF防止CookieのSecure属性も設定する必要があります。
これ [〜#〜] url [〜#〜] は、Spring MVCフレームワークでの反CSRFトークンの使用および設定方法を説明しています。
これ [〜#〜] url [〜#〜] は、PHPでPHPを使用せずに、CSRFトークンを使用する方法を説明しています=フレームワーク。
攻撃者がHttpOnly Cookieを盗むことができる状況があります。
説明に基づいてこれら2つの条件が満たされない場合、特にリクエストベースの抗CSRFトークンを使用しているため、コードはCSRF攻撃から十分に保護されていると言えます(これを行わない銀行も知っています)。よくやった! :)
ただし、ホイールを再発明しようとしないでください。個人的には、Spring MVEフレームワークを使用して適切なCSRF保護を実装しようとしています。