1.自動診断
ZAP では、診断対象のURLからサイトに含まれるページを自動的に収集し、スキャンポリシーに従って自動的に脆弱性診断をすることができます。
(1) コンテキストへ テスト対象のURL 登録
- プロキシをZAPに設定したブラウザから、診断対象のURLにアクセスするとZAPのサイト一覧にそのURLが表示されます。
- サイト一覧上で、診断対象のURLを選択し、マウスの右クリックでメニューを表示し、 [コンテキストに含める] > [既存コンテキスト] をクリック
- セッションプロパティ ダイアログ が 表示されたら、「除外しない限り、コンテキストに含まれるURL」に、診断対象のURLが登録されたことを確認して [URL] ボタンをクリック。
- コンテキストに含まれたかは、画面の赤枠で囲ってある部分が赤い丸が表示されることで確認できます。
(2) スパイダーによる診断対象ページ自動的収集
- 「既存のコンテキスト」を選択し、マウスの右クリックでメニューを表示し、 [スパイダー] をクリック
- スパイダー検索 ダイアログ が 表示されたら、 [スキャンを開始] ボタンをクリックし、診断対象のURLからサイトに含まれるページを自動的に収集。
(3) 動的スキャンによる自動脆弱性診断実施
- 「既存のコンテキスト」を選択し、マウスの右クリックでメニューを表示し、 [動的スキャン] をクリック
- スパイダー検索 ダイアログ が 表示されたら、 [スキャンを開始] ボタンをクリックし、診断対象のURLからサイトに含まれるページを自動的に収集。
2.手動診断
ZAP では、Webサーバに対するリクエストの任意の部分を手動で書き換えて送信することが出来ます。
この [手動リクエスト] 機能を利用して脆弱性診断をすることで、静的コード分析に基づいた動的スキャンでは検出の難しい脆弱性診断が可能になります。
- プロキシをZAPに設定したブラウザからアクセスすると、画面下にリクエスト履歴が表示されます。
その履歴から任意のリクエストを選択し、マウスの右クリックでメニューを表示し、 [再送信] をクリック
- 手動リクエスト ダイアログで、ヘッダ情報やPOSTパラメタ等を変更して、 [送信] ボタンをクリック
- 手動リクエスト に対して、Webサーバから返信された内容をレスポンスで確認
3.脆弱性診断結果 レポート出力
ZAP では、脆弱性診断結果をレポートとして出力することができます。
- メニュー [レポート] > [Generate Report …] をクリックし、Generate Report ダイアログを表示
- Generate Report ダイアログ が 表示されたら、診断対象のURLを選択して、 [Generate Report] ボタンをクリックすると、下図に示す様なレポートがブラウザ上に出力されます。
※本記事 および このレポートが示すドメインは、OWASP ZAP を説明するためのものであり、実際には運用しておりません。