3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Owasp ZAPによる侵入テストについて

Last updated at Posted at 2020-06-07

この記事で下記の知識を得ることができます。

  • Owasp ZAPとは
  • Owasp ZAPによる侵入テストをローカル環境にて構築する方法
  • Owasp ZAPによる簡易侵入テスト

Owasp ZAPとは

世界中で最もよく利用されるフリーウェブアプリケーションセキュリティツールです。
詳細は下記リンクに記載されています。
https://owasp.org/www-project-zap/

IPAでも取り上げています。
https://www.ipa.go.jp/about/technicalwatch/20131212.html

ほかにいろんな有償、無償の脆弱性診断ツールがございますが、拡張性、技術情報、応用情報を考えると、Owasp ZAPはおすすめの一つです。

Owasp ZAPによる侵入テストをローカル環境にて構築する方法

環境

ソフト インストール
Windows 10
Docker Desktop https://docs.docker.com/docker-for-windows/install/
Git bash https://gitforwindows.org/
Firefox (Proxy設定用) https://www.mozilla.org/ja/firefox/
Owasp ZAP 2.9.0 https://www.zaproxy.org/download/
Webgoat 8.0 Dokcerによるダウンロード(後述)

環境構築

Docker desktopをダブルクリックします。
image.png

Git bashをダブルクリックします。
image.png

Docker hubから脆弱性アプリケーションのイメージをダウンロードします。
$ docker pull webgoat/webgoat-8.0

コンテナを起動します。
$ docker run -itd -p 127.0.0.1:10080:8080 webgoat/webgoat-8.0

下記のサイトへアクセスすれば、ログイン画面が表示されます。
http://localhost:10080/WebGoat/login

image.png

Owasp ZAPによる簡易侵入テスト

Owasp ZAPをダブルクリックします。
image.png

開始をクリックします。
image.png

Manual exploreをクリックします。
image.png

対象となるブラウザを選択するうえ、Launch browserをクリックします。
*事前に対象ブラウザのProxy設定をOwasp ZAPプロキシと同様な設定をしてください。

http://localhost:10080/WebGoat/login 
へアクセスすると、Owasp ZAPは監視されるので、履歴やサイトなどに情報が表示されます。
image.png

Register new userをクリックし、適宜Userを作成してください。
image.png

User登録後、Webgoatに入ります。適宜操作し、Owasp ZAPに画面遷移などを記録させます。

Owasp ZAPの画面に戻り、アラートをクリックすると、ある程度の脆弱性が検知することができました。これは静的スキャンによる検知で、あくまでも一般的なリクエストとレスポンスを見て、Owasp ZAPがその脆弱性の可能性を提示しています。

### 動的スキャン
対象となるリンクを右クリックし、コンテクストに含めるを選んで、セッションプロパティが表示されます。
image.png

対象となるログインURLを入力します。
https://localhost:10080/WebGoat/

Login Request POST Dataに下記のパラメータを入力します。
username={%username%}&password={%password%}

  • ログイン画面に複数のパラメータがあるとき、可変ではなく、固定にする設定も可能です。例えば、merchantName=merchant&username={%username%}&password={%password%}

Logged out responseには下記のパラメータを入力します。
\Q/WebGoat/login\E

ユーザをクリックします。
image.png

先ほど登録したユーザを追加します。
image.png

その後、OKをクリックし、ダイヤログを閉じます。

右クリックし、「攻撃」ー「スパイダー」の順にクリックします。
image.png

追加されたユーザーを選択し、「スキャンを開始」をクリックすると、Webgoatサイトの操作で検知したリクエスト及びレスポンスをベースに、攻撃対象となるURLを拾い上げます。
image.png

たくさんのURLが検知しました。
image.png

次に動的スキャンを仕掛けますが、モードを必ずプロテクトモードにしてください。そうすると、コンテキストに含める対象のサイトのみ、攻撃対象となります。そうでなければ、スパイダーにて検知した全サイトが攻撃される可能性があります。あらかじめ注意してください。
image.png

右クリックし、「攻撃」ー「動的スキャン」
動的スキャンが完了すると、静的スキャンより多くの脆弱性を見つけることができました。
image.png

### レポートの出力
「レポート」ー「HTML」の順にクリックすると、レポートを任意の名前でダウンロードすることができます。
image.png

image.png

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?