無料で使用できるWEBサイトの脆弱性をチェックできるツールOWASP ZAPについてのまとめです。
こちらからダウンロードし、インストールします。
OWASP ZAPはプロキシとして動作します。
Firefoxにアドオンを入れて、プロキシ設定をすることでFirefoxで閲覧したページの情報をOWASP ZAPで検知できるようになります。
Firefox Plug-n-Hackアドオンを以下よりFirefoxにインストールします。
もしかすると、Firefoxの検証をスキップするために設定を変更する必要があるかもしれません。
https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Plug-n-Hack/Plug-n-Hack_Tools_Supported
Firefoxのオプションから 詳細 - ネットワーク - 接続設定 にて 手動でプロキシを設定する を選択し、localhost、8080とします。
OWASP ZAPを起動するとセッションについて選択する画面が表示されます。
Yes, I want to persist this session with name based on the current timestamp Yes, I want to persist this session but I want to specify the name and location No, I do not want to persist this session at this moment in time
どれを選択しても構いませんが、スキャンしたURLやアラートなどを後から見直したい時などは自身でセッション名を決めておけばわかりやすいので、真ん中の選択肢を選びます。
ログイン後のページについて脆弱性を調べたい場合は、OWASP ZAPがログインできるように設定を行います。
プロキシ設定が完了しているFirefoxにてログイン操作を行います。
OWASP ZAPのサイト画面にてログインしたURLを右クリックし、Include in Context - New Context を選択します。
セッション・プロパティ画面の「コンテキストに含める」で URL正規表現 が適切で無ければ修正します。
「技術」で使用しているDB、言語、OS、SCM、WSを選択します。
「認証」でForm-based Authenticationを選択、Login Form Target URLを参照からログイン画面のURLを選択。
ある程度入力されますが、UsernameやPasswordのパラメーターを適切に選択します。
「ユーザ」にてログイン情報を追加します。
「Forced User」で追加したユーザが選択されているか確認。
ログイン後のURLを選択し、レスポンスタブを選択します。
HTMLソースが表示されている中からログインしている場合に表示される文字列(例えば logout.php など)を選択し、Flag as Context - Authentication Logged-in indicator を選択します。
Regex pattern identified in Logged In response messages 欄に「\Qlogout.php\E」のように入力された状態になります。
サイトの一番上位のフォルダを右クリックから 攻撃 - スパイダー 選択でURLを拾ってくれますが、おそらくほとんど自動では拾ってくれないので、Firefox側にて出来る限りのページを閲覧し、フォームのボタンなども押しまくります。
これでOWASP ZAPは検証するページを記録していってくれます。