0

.NET 4.0 MVC Web アプリケーションでのクロス サイト フォージェリ攻撃を防ぐために、.NET を使用してページごとに CSRF トークンを生成し@Html.AntiForgeryToken()ました。[ValidateAntiForgeryToken]トークンの検証は、それぞれのコントローラーとアクションでフレームワークによって提供される APIを使用して、各要求処理で行われます。

クライアント ブラウザーからの要求が追跡され、この追跡されたデータを使用してプロキシ ツールから再度送信されると、サーバー アプリケーションはそれを受け入れ、検証エラーは表示されません。

トレースされたデータには、生成されたトークン値 ( __RequestVerificationToken) と要求本文が含まれます。

アプリケーションは SSL (自己署名) に対応しており、HTTPS でホストされています。

ツールは検証済みのトークンをリクエスト本文からコピーでき、この古いトークンを使用して新しいリクエストを送信できます。つまり、検証済みのトークンはまだ利用可能です。既に生成されたフォーム トークンを無効化または削除する方法。

クロスサイト攻撃を防ぐために考慮すべきセキュリティ対策が他にあれば教えてください。

4

1 に答える 1

2

あなたが説明する攻撃は、CSRF攻撃ではなく、中間者/リプレイ攻撃です。MVC の抗 CSRF API はリプレイ保護をサポートしていますが、これを設定するのは簡単ではありません。たとえば、あなたのアプリケーションを MITM できれば、あなたの認証 Cookie に完全にアクセスできます。私は単純にあなたとしてログインでき、自分の CSRF トークンが有効かどうかを心配する必要はありません。いつでも新しい有効なトークンを生成するようにサーバーに依頼することができるからです。

解決しようとしている正確なシナリオは何ですか?

于 2013-12-24T15:53:53.980 に答える