2.9.0で脆弱性診断をする - アンチCSRFトークンを設定する


この記事について、マニュアルの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の前に設定しておきます。

  1. ヘッダのオプションアイコンをクリックします
  2. オプション画面でアンチCSRFトークンをクリックします
  3. 追加ボタンをクリックします
  4. トークン名を入れて追加ボタンをクリックします

Active scanで有効にする

  1. ヘッダのオプションアイコンをクリックします
  2. オプション画面で動的スキャンをクリックします
  3. アンチ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/