本記事は、Windows11にインストールしたOWASP ZAPでWebアプリケーションの脆弱性をスキャンする手順のメモとなります。
OWASP ZAPはOWASPというWebアプリケーションに関するコミュニティが作成している、Webアプリケーションを対象とした脆弱性スキャナーです。こちらの記事でインストール手順を解説しており、今回は実際にスキャンを実施してみます。スキャン対象には、こちらの記事で構築したWordPressを利用します。
脆弱性スキャンは自身で構築したWebアプリケーションなど、許可された対象に実施してください。第三者のWebアプリケーションに対しての実行は、不正アクセスとみなされる可能性もあるため実施しないようにしましょう。またパブリッククラウド上に構築したWebアプリケーションの場合は、脆弱性スキャンを実施する旨を事前にパブリッククラウド業者へ申請する必要がある場合がありますのでご注意ください。
◆ OWASP ZAP による設定~スキャン手順
(2023年8月時点)
スキャンまでの手順は大まかに以下の手順となります。
Ⅰ.OWASP ZAPの設定
Ⅱ.Firefoxの設定
Ⅲ.OWASP ZAPによるスキャン
Ⅰ.OWASP ZAPの設定
Ⅰ-1.
デスクトップ上のアイコン等からOWASP ZAPを起動します。
Ⅰ-2.
起動が完了するまでしばらく待ちます。
Ⅰ-3.
起動中に以下のようなWindowsDefenderファイアウォールの警告が出た場合は、「アクセスを許可する」をクリックします。
Ⅰ-4.
起動が完了すると、セッションの保存方法を問われます。ここでは「現在のタイムスタンプでファイル名を付けてセッションを保存」を選択して「開始」ボタンをクリックします。
Ⅰ-5.
画面左上のモード選択のプルダウンで「プロテクトモード」を選択します。これを選択することで、Webアプリケーション中のリンクなどから意図せず外部のURLにまで診断を行うことを防げるようです。
Ⅰ-6.
メニューバーで「ツール」を選択し、「オプション…」をクリックします。
Ⅰ-7.
左メニューの「Network」内の「Local Server/Proxies」を選択します。アドレス欄に『localhost』と入力し、ポート欄に『8080』など、他のアプリケーションで利用していないポート番号を指定します(このポートは後の手順でFirefoxのプロキシ設定に使用します)。その後「OK」ボタンをクリックします。
Ⅱ.Firefoxの設定
Ⅱ-1.
Firefoxを開き、右上のメニューから「設定」をクリックします。
Ⅱ-2.
一般メニューのネットワーク設定にある「接続設定」ボタンをクリックします。
Ⅱ-3.
インターネット接続に使用するプロキシーの設定で「手動でプロキシーを設定する」を選択します。HTTPプロキシー欄で『localhost』と入力し、ポートはⅠ-7でOWASP ZAPに設定したポートを指定します。「このプロキシーをHTTPSでも使用する」のチェックを入れます。SOCKSホスト欄も同様に『localhost』と入力し、ポートはⅠ-7でOWASP ZAPに設定したポートを指定します。「OK」をクリックします。
Ⅲ.OWASP ZAPによるスキャン
Ⅲ-1.
画面右側中央の「Manual Explore」をクリックします。
Ⅲ-2.
URL to explore欄にスキャンしたいWebアプリケーションのURLを入力します。ここではこちらの記事でPC内に作成したWordPressを指定します。その後「ブラウザの起動」ボタンをクリックします。
Ⅲ-3.
Firefoxが起動し、スキャン対象のWebアプリケーションが開いたのちに、画像のような「Welcome to the ZAP HUD」が表示されます。
Ⅲ-4.
左側にアクセスしたWebアプリケーションの階層が表示されるので、スキャンしたいトップ階層(ここでは127.0.0.1中のwordpressから)を右クリックし、「コンテキストに含める」>「新規コンテキスト…」を選択します。このようにしてコンテキストに含めることで、含めた階層以下に対する脆弱性スキャンが可能になります。
Ⅲ-5.
左上に新規コンテキストの名前を入力します。コンテキストに含まれるURLが意図したURLであることを確認し、「OK」ボタンをクリックします。
Ⅲ-6.
コンテキスト以下に追加されたスキャン対象を右クリックし「動的スキャン…」をクリックします。
Ⅲ-7.
動的スキャンのウィンドウが開くので「再帰的」にチェックを入れて「スキャンを開始」をクリックします。
Ⅲ-8.
スキャンが実行されるので、完了までしばらく待ちます。
Ⅲ-9.
「100%」となればスキャン完了です。左中央にある「アラート」をクリックします。
Ⅲ-10.
対象のWebアプリケーションに存在する脆弱性が確認できます。左のアラート一覧からそれぞれのアラートをクリックすることで、右側で脆弱性の詳細を確認できます。
そのアラートの脆弱性の詳細な内容の解説もあります。
また、どのような対処を行えばよいかのヒントも記載されていますので、これを参考にしてパッチを適用する、Webサーバーなどの設定変更を行う、といった対処を行い脆弱性を低減させていきましょう。今回はここまでとなります、お疲れさまでした。
◆ 参考文献
・【OWASP ZAP】インストールと基本的な使い方【Web脆弱性診断】 | チグサウェブ (chigusa-web.com)
・OWASP ZAPを使ったWebシステムの脆弱性診断【前編】|Solution – ソリューション|株式会社イージェーワークス (ejworks.com)
・OWASP ZAPの設定と使い方 – Qiita