私たちには、おそらくクロスサイトリクエストフォージェリ(CSRF)攻撃に対して脆弱なASP.NET Webフォームアプリケーションがあります。私たちにこれを警告する単体テストを書くにはどうしたらいいですか? NUnitの使用。いくつかのヒントやポインタが素晴らしいだろう。CSRFの脆弱性のためにASP.NET Webフォームアプリケーションをテストするために単体テストを書く方法を教えてください。
4
A
答えて
0
CSRFの仕組みを理解する必要があります。ハッカーの考え方に慣れる。 CSRFを実行する自動テストを作成する必要があります。これはおそらく統合テストのような単体テスト(単一のユニットのテスト)ではありません。 CSRF攻撃の実行に成功した場合(テストが赤くなった場合)、問題を解決できます。
は、攻撃を実行する方法の詳細については、CSRF FAQをチェックしてください。そして、ここにはTesting for CSRFについての良いwikiの記事があります。すでにあなたのウェブサイト上で認証されながら
1
CSRFは、攻撃者に代わってアクションを実行するため、ユーザは、(例えば、電子メール内のリンクで)だまされる攻撃です。
- GETリクエストが副作用を持つべきではない - - すべてのアクションはPOSTリクエストのみを使用して行われるべきである
はあなたのためにテストする必要があり、リスクを軽減するには、いくつかの方法があります。攻撃者がユーザーから発信されたPOST要求を生成することはより困難です。
- ランダムな一意のページ単位の文字列をユーザーに送信し、サーバーに戻ったときにチェックする必要があります。ユーザーのクッキーは、攻撃者によって引き起こされた要求で送信されますが、攻撃者はフォームに格納されている文字列を認識しません。 .NETでは、私はあなたがこれのためにViewstateを使うことができると思います。特に敏感(もしくは攻撃しやすい)、アクションや不活動のいくつかの期間の後、あなたは、ユーザーが繰り返し認証を要求することができる
OWASP(Torbjørnによってリンク)については
関連する問題
- 1. ASP.NET MVCの脆弱性テスト
- 2. コアデータの移行を単体テストする方法を教えてください。
- 3. Braintree Java APIの周りに意味のある単体テストを書く方法を教えてください。
- 4. 単体テストを排除する方法を教えてください。
- 5. Google App Engine Go HTTPハンドラの単体テスト方法を教えてください。
- 6. DotNetOpenIdを使用するASP.NET MVCコントローラを単体テストする方法を教えてください。
- 7. カスタムシェフリソースをChefSpecと単体で単体テストする方法を教えてください。
- 8. ionicでe2eテストのコードを書く方法を教えてください。
- 9. Python:ネストされた関数を単体テストする方法を教えてください。
- 10. 書く方法クエリービルディングをテストするための弾性ユニットテスト
- 11. EJB 3.0のテスト方法を教えてください。
- 12. typeof(dynamic)のテスト方法を教えてください。
- 13. PushKit Voipのテスト方法を教えてください。
- 14. Google Appsスクリプトのテスト方法を教えてください。
- 15. ヌルバイトの脆弱性をテストする
- 16. Python単体テストをデータベース依存関係にする方法を教えてください。
- 17. Pythonでの単体テストの依存関係を偽造する方法を教えてください。
- 18. asp.netハッシュテーブルの脆弱性
- 19. 私のアプリをクライアントにテストする方法を教えてください
- 20. Webアプリケーションで実行されたステップのシーケンスを取得し、テストするために同じ手順を実行する方法を教えてください。
- 21. 単体テストのためにmoment.utc()をモックする方法は?
- 22. goのための単体テストの記述方法Web api
- 23. emberjsで約束したコントローラアクションの単体テストを書く方法
- 24. オートメーションスクリプトの単体テストを書くには?
- 25. ストップウォッチの単体テストを書くには?
- 26. テストのために捨ててください
- 27. IonicのPlatform.readyをテストする方法を教えてください。
- 28. テストを合格/スキップ/無視されたものにする方法を教えてください。
- 29. オブジェクトを後で使用するためにファイルに書き込む方法を教えてください。
- 30. 単体テスト検証のためのテストに失敗する方法URLのフォーマット