LoginSignup
39
48

More than 5 years have passed since last update.

OWASP ZAPを使って脆弱性の確認(動的スキャン)をする

Last updated at Posted at 2017-08-22

概要

OWASP ZAPの動的スキャン機能を使うと、手軽に脆弱性の確認を行うことができます。

注意点として、スキャンの対象は自分が管理しているサイトか診断の許可を得ているサイトのみに行ってください。
また、スキャンの影響で本番環境にトラブルがおきる可能性があるので、本番環境ではなくステージング環境などの準備を行い、そちらに対してスキャンをすることをおすすめいたします!

説明

この記事は下記の内容で進めていきます。

  • OWASP ZAPのインストール
  • スパイダー機能を使って対象のURLを取得
  • 動的スキャンを実施
  • 結果の確認

実施手順を以下に書いていきます。

環境

  • macOS Sierra 10.12.5
  • OWASP ZAP 2.6.0
  • WordPress 4.8.1

OWASP ZAPのインストール

下記からOWASP ZAPをダウンロードすることができます。

https://github.com/zaproxy/zaproxy/wiki/Downloads

確認に使ったMacではJavaをインストール済みなので、Cross Platform Package版を使用しました。

インストール後の設定については、下記の記事を参考にいたしました。

Mac版のOWASP ZAPで脆弱性チェックの設定
https://doruby.jp/users/r357_on_rails/entries/Mac_OWASP_ZAP

スパイダー機能を使って対象のURLを取得

下記の設定が完了している状態で、スパイダー機能を使ってみます。

  • OWASP ZAPの起動
  • ブラウザのプロキシ設定
  • OWASP ZAPでブラウザの通信が取得できている
  • OWASP ZAPのウィンドウ左上にあるモードを「プロテクトモード」に設定
  • 対象環境のドメインを「規定のコンテキスト」に設定

※今回はローカル環境にWordPressの確認用環境を用意しました。

デモ環境のURLへのアクセスをOWASP ZAPで取得しておいて、
「URL→攻撃→スパイダー」を選んで、スパイダー機能を実行します。

image

スパイダー機能を実行後、下記のようにデモ環境のURLが取得できています。
image

動的スキャンを実施

スパイダー機能と同様に、対象のURLについて「URL→攻撃→動的スキャン」を選んで、実行します。

image

実行中は、%表示の左にあるアイコンをクリックすると、下記のように実行状況が表示されます。
image

それぞれのチェック項目について、進捗が表示されています。
image

結果の確認

デモ環境で検出された脆弱性は、アラートの項目に表示されます。
image

また、検出結果は「レポート→HTMLレポート作成」から保存することで、HTML形式でまとまった形で確認することもできます。
image

結果の保存

「ファイル→永続化コンテキスト」で、今回行った確認データを保存することができます。

まとめ

この記事で行った動的スキャンでは、アクセス権限の不備などの手動で確認しないといけない脆弱性は見つけられませんが、簡単な操作でサクッと診断を行うことができます。

繰り返しになりますが、スキャンの対象は自分が管理しているサイトか診断の許可を得ているサイトのみに行ってください。
また、スキャンの影響で本番環境にトラブルがおきる可能性があるので、本番環境ではなくステージング環境などの準備を行い、そちらに対してスキャンをすることをおすすめいたします!

また、今回はスキャン中にログインが切れた場合について考慮せずに動的スキャンを行いました。
もし、スキャン中にログイン状態が切れてしまうと、その後のログインが必要なページの診断はエラーになってしまいます。

そこで、下記のサイトを参考に自動認証機能を設定しておきますと、ログイン状態が切れてしまっても自動でログイン処理が実行されてスキャンを継続してくれますので、正常に動的スキャンを実施することができるかと思います。

OWASP ZAP 2.3 自動認証機能の設定
https://www.pupha.net/archives/2046/

※検証に使用したOWASP ZAP 2.6.0とは一部表示は違いますが、同じ手順で自動認証機能を設定することができました。

参考サイト

39
48
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
39
48