2
3

【OWASP ZAP】Webサイトの脆弱性診断を実施する【M1 Mac】

Posted at

目次

はじめに

リリース前には脆弱性診断を行っていると思いますが、様々な理由でいつも外部業者に診断してもらえるわけではありません。

  • 個人情報を扱わないPoC開発なので、ライトに脆弱性診断を行いたい
  • 趣味での個人開発なので、なるべくお金はかけたくない
  • 外部業者に依頼はするが、事前にチェックしておきたい

こんな場合に自分で脆弱性診断を実施できたら良いと思いませんか?

Webアプリケーションのすべての画面を手動でチェックしたり、不正なリクエストを送信するのは難しいですが、OWASP ZAPであれば自動でチェックしてくれます。

今回はM1 MacにOWASP ZAPをインストールし、Webサイトの脆弱性診断を行います。

この記事でわかる・できること

  • OWASP ZAPをインストールして、Webサイトの脆弱性診断を実施する方法

この記事の対象者

  • 自分でWebサイトの脆弱性診断を行いたい人
  • はじめてOWASP ZAPを利用する人

動作環境・使用するツールや言語

  • OS バージョン
    • Sonoma 14.5 (M1)
  • ツール
    • OWASP ZAP 2.15.0

OWASP ZAP とは

OWASP ZAP(Zed Attack Proxy)は、OWASPが提供するオープンソースのウェブアプリケーションセキュリティツールで、脆弱性診断やセキュリティテストを自動化するセキュリティスキャナーです。SQLインジェクションやクロスサイトスクリプティング(XSS)などの一般的な脆弱性を検出するための強力な機能を備えており、無料で利用できます。

インストール

OWASP ZAP のインストール

公式サイト: OWASP ZAP

公式サイトからZAPをダウンロードします。
owasp_install.png

今回はM1用なので、Apple Silliconをダウンロードします。

image.png

ファイルを開き、「Applications」フォルダにドラッグします。
app.png

インストール完了です。

Firefoxのインストール

この後Webサイトの解析でFirefoxを利用します。
FirefoxはZAPのプロキシ設定を簡単に構成できます。これによりZAPが通信をインターセプトし、サイト解析に利用できます。
詳細は省略しますので、下記からインストールをしてください。

公式サイト: Firefox

OWASP ZAP の設定

基本設定

セッション保持方法を選択します。

OWASP ZAPが起動しました。
image3.png

最初に診断モードをプロテクトモードにしましょう。
これを選択することで明示的にコンテキストに設定したURLに対してのみ攻撃を行います。
※診断対象外サイトに攻撃しないように必ず設定しましょう。

Proxy設定

OWASP ZAP経由でリクエストされるようにLocal Proxy設定を行います。
ツール > オプション > Network > Local Servers/Proxies を開きます。
利用していないポートに変更します。
image.png

静的スキャン

ブラウザからの手動探索

Webブラウザ上で基本的な機能の一通りの操作を行って、診断対象URLを登録すると同時にリクエスト内容を診断します。

Firefoxのマークをクリックして、Firefoxを起動します。
image4.png

ブラウザで診断したいサイトのURLを入力して開きます。
image.png

[Continue to your target]をクリックして、サイト上で一通り動かしてみると、ZAP側の「サイト」配下にFireFoxで開いているURLがどんどん追加されていきます。

対象のサイトを右クリック > コンテキストに含める > 「既定コンテキスト」をクリックして診断対象として追加しましょう。
image.png

自動探索

さらに診断対象を自動探索したい場合はスパイダーという機能を使って、診断対象URLを登録してみましょう。
診断対象をクロール(巡回)してURLと各リクエスト、レスポンスを収集してくれます。

対象のサイトを右クリック > 攻撃 > スパイダーをクリック
image.png

コンテキストが間違っていないことを確認して、スキャンを開始しましょう。
image.png

検出されたURLが登録されて、後の診断対象になりました。
image5.png

動的スキャン

今度は動的スキャンを行います。ここまでで登録した対象URLにパラメータを変更しながら攻撃をしかけて診断します。
対象のサイトを右クリック > 攻撃 > 「動的スキャン」をクリックして攻撃します。
image.png

コンテキストが間違っていないことを確認して、スキャンを開始しましょう

スキャンは多少時間がかかります。

診断結果の確認

アラートタブの診断結果を確認します。
リスクの高さと要件に応じて、それぞれ適切に対応しましょう。
image.png

最後に

今回はWebサイトの脆弱性診断を自分で実施する方法を試してみました。
OWASP ZAPには他にもOPEN APIから定義を取り込んだり、CI/CDに組み込んで自動でスキャンすることもできますので、どんどん活用してセキュアなサイトを構築して行きましょう!

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3