OWASP ZAP REST APIを使って、Swagger REST APIをテストする(1)環境構築
本記事の経緯
Azure Pipelinesを使って、Swaggerで作成したREST APIのセキュリティテストをしたかったけど、OWASP ZAP周りの情報でズバリ欲しかったものが見当たらなかったので、まとめてみました。
本記事の概要
OWASP ZAP REST APIが使用できる環境の構築方法をまとめました。
使用ソフトウェア
- Windows 10 + PowerShell 5
- OWASP ZAP 2.7.0 + OpenAPI Support 12.0.0
- Jenkinsは使わない
- Dockerも使わない
OWASP ZAPを準備する
OWASP ZAPをインストールして、設定を行います。
- OWASP ZAPのサーバーを立てるマシンに、OWASP ZAPをインストールする。
- OWASP ZAPを起動する。
- Manage Add-onsのMarketplaceからOpenAPI Supportをインストールする。
- Optionsから以下を設定する。
- File - Snapshot Session As...を選択し、"default"という名前でセッションを保存する。
- OWASP ZAPを終了する。
OWASP ZAPをデーモン起動する
以下のようなバッチを作ると便利です。これはOWASP ZAPをlocalhost:8888で起動します。
@echo off
cd "C:\Program Files\OWASP\Zed Attack Proxy"
call "zap.bat" -daemon -port 8888 -session "<セッションを保存したフォルダ>\default.session"
zap.bat
のオプションについては、以下のヘルプを参照してください。
Wiki HelpCmdline - zaproxy/zap-core-help - GitHub
OWASP ZAPをシャットダウンする
以下のようなバッチを作ると便利です。OWASP ZAPを正しくシャットダウンしないと、セッションが保存されないことがあります。
@echo off
powershell -File shutdown-zap.ps1
$zap_url = "http://localhost:8888/JSON/core/action/shutdown/?apikey=<API Key>"
Invoke-RestMethod -Method "GET" -Uri "${zap_url}"
OWASP ZAP REST APIのヘルプは、OWASP ZAPが起動している時に http://localhost:8888/UI
にアクセスするとあります。でも正直、分かりにくいです……。
注意事項
OWASP ZAPを多重起動するのは、セッションの作成に失敗することがあるため、おすすめしません。GUI起動とデーモン起動でも多重起動になることに注意してください。
(次回 (2)使用方法 に続きます。)
Author And Source
この問題について(OWASP ZAP REST APIを使って、Swagger REST APIをテストする(1)環境構築), 我々は、より多くの情報をここで見つけました https://qiita.com/stb_nissie/items/610728e1b01c951589ac著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .