Naughty1029のブログ

エンジニアリングのこととか、日々の学びとか

PostmanとOWASP ZAPによるAPIセキュリティテスト

APIテスト自動化ツールとしてOWASP ZAPを利用し、脆弱性診断の方法からレポート生成までの手順を記載します。

今回の方法では、PostmanのリクエストをOWASP Zapに送ることで脆弱性診断を実施しています。

Postmanを利用することができるので、既存のコレクションの使い回しをすることができます。

前提条件

PostmanとOWASP Zapがインストールされていること

インストールされていない方は下記リンクからインストールしてください。

手順概要

  1. OWASP Zapの設定をする
  2. Postmanの設定をする
  3. PostmanでAPIをOWASP Zapに登録する
  4. OWASP Zapで脆弱性の確認(動的スキャン)をする
  5. 結果のレポートを生成する

OWASP Zapの設定をする

OWASP Zapの"Settings"→"LocalServers / Proxy"を開きます。

ポートを指定します。上記のスクリーンショットの場合は8081に指定しています。

Postmanの設定をする

OWASP Zapの"Settings"→"Proxy"を開きます。

“Use custom proxy configuration” を有効にし、下記を設定します。

Proxy Server : 127.0.0.1
Port : 8081 (OWASP Zapで指定したポート)

PostmanでAPIをOWASP Zapに登録する

Postmanで、目的のAPIコレクションからAPIリクエストを送信します。

Postmanから送信したAPIリクエストは、OWASP Zapの サイトに登録されます。

OWASP Zapで脆弱性の確認(動的スキャン)をする

メインディレクトリを右クリックし、"攻撃 "→"動的スキャン "を選択します。

ポリシーはデフォルトのものを使用します。

スキャンが完了すると、「アラート」セクションに脆弱性が表示されます。

結果のレポートを生成する

OWASP Zapの"レポート"→"Generate Report"でレポートを生成します。

生成されたレポートは以下のようにHTMLファイルとして表示できるようになります。

補足

脆弱診断の終了後はPostmanプロキシ設定を以前の/デフォルト設定に戻しておきましょう。

参考リンク