この記事について、マニュアルのAnti CSRF Tokensページを参考にしています。このページを見てわからないことがあれば、マニュアルを参照してください。
公式サイト:https://www.zaproxy.org/
OWASP ZAP Desktop User Guide:https://www.zaproxy.org/docs/desktop/
Anti CSRF Tokens:https://www.zaproxy.org/docs/desktop/start/features/anticsrf/
Getting Started
ZAPの簡単な使い方は、公式ドキュメントのGetting Startedを参考にしてください。また、私なりにまとめたOWASP ZAP2.9.0で脆弱性診断をする - Getting Startedも見ていただける幸いです
バージョン
この記事では、OWASP ZAP2.9.0のデスクトップアプリを使っています。
アンチCSRFトークン
アンチCSRFトークンとは、CSRF攻撃防止するためにフォーム内に存在するランダムなトークンです。診断対象サイトにて存在する場合、スキャンする時に正常にスキャンできないことがあります。
ZAPでは、アンチCSRFトークンのパラメータ名を設定しておくことで、Automated scanやManual Exploreの際に、アンチCSRFトークンを検出するとその時のURLと値を保持し、Active scanや他のスキャンをする時に、自動で再生成するオプションがあります。
設定方法
パラメータ名の設定
パラメータ名の設定は、Automated scanやManual Exploreの前に設定しておきます。
- ヘッダのオプションアイコンをクリックします
- オプション画面でアンチCSRFトークンをクリックします
- 追加ボタンをクリックします
- トークン名を入れて追加ボタンをクリックします
Active scanで有効にする
- ヘッダのオプションアイコンをクリックします
- オプション画面で動的スキャンをクリックします
- アンチCSRFトークン利用にチェックを入れます
デフォルトでは設定されていませんので、Active scanの前に必要であればチェックをしましょう。ただし、このチェックを入れるとスキャンに時間がかかることがあります。通常マルチスレッドで行われるスキャンが、1つのスレッドになります。
参考
https://www.zaproxy.org/
https://www.zaproxy.org/docs/desktop/
https://www.zaproxy.org/docs/desktop/start/features/anticsrf/
https://www.zaproxy.org/docs/desktop/ui/dialogs/options/ascan/
https://www.pupha.net/archives/1637/