私たちには、おそらくクロスサイトリクエストフォージェリ(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. コアデータの移行を単体テストする方法を教えてください。
- 2. ASP.NET MVCの脆弱性テスト
- 3. Google App Engine Go HTTPハンドラの単体テスト方法を教えてください。
- 4. DotNetOpenIdを使用するASP.NET MVCコントローラを単体テストする方法を教えてください。
- 5. Python:ネストされた関数を単体テストする方法を教えてください。
- 6. 書く方法クエリービルディングをテストするための弾性ユニットテスト
- 7. typeof(dynamic)のテスト方法を教えてください。
- 8. EJB 3.0のテスト方法を教えてください。
- 9. Google Appsスクリプトのテスト方法を教えてください。
- 10. ヌルバイトの脆弱性をテストする
- 11. 私のアプリをクライアントにテストする方法を教えてください
- 12. asp.netハッシュテーブルの脆弱性
- 13. ストップウォッチの単体テストを書くには?
- 14. オートメーションスクリプトの単体テストを書くには?
- 15. テストのために捨ててください
- 16. Webプログラマに非常に簡単なGUIプログラムを書く方法を教えてください
- 17. 単体テスト検証のためのテストに失敗する方法URLのフォーマット
- 18. JavascriptをテストするためにSeleniumのツールを置換してください。
- 19. Grinderスクリプトでのテスト記録の停止方法を教えてください。
- 20. TeamCityに、Rakeから実行されたNUnitテストを受ける方法を教えてください。
- 21. フォーム要素の単体テストを書く
- 22. デュプレックスストリームに書き込む方法を教えてください。
- 23. IEに適したカスタマイズ方法を教えてください。
- 24. QLabelのスペースにテキストを埋め込む方法を教えてください。
- 25. sbt-proguardにjava * .jarsを含める方法を教えてください。
- 26. ラベルをVennDiagramに収める方法を教えてください。
- 27. AngularJS e2eテストでチェックボックスをオンにしたときの検証方法を教えてください。
- 28. 未知の例外をすべて壊すためにEclipseを作る方法を教えてください。
- 29. アプリケーション設定にバインドし、MVVMパターンを使用する際に単体テストを書き込む方法を教えてください。
- 30. コンパイルエラーを検証するための単体テストを書くにはどうすればよいですか?