0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

API vulnerability scan I'm working on

Posted at

Web App の脆弱性テストについて。

前職で ZAP の Baseline Scan 1 を流したことはある。

しかし、ZAP API 2 について詳しく学ぶことはなかった。今回、改めて ZAP API について学んだため、覚え書きとして残す。

zaproxy を起動

  • 今回は dind で起動している。Network はホスト側のネットワークを使用する。
docker run --name zap -u zap -p 8090:8090 --network="host"  -i zaproxy/zap-stable zap.sh -daemon -port 8090 -config api.addrs.addr.name=.* -config api.addrs.addr.regex=true -config api.disablekey=true

コンテキストの作成

  • スキャンする URL をコンテキストと言う。
  • コンテキストを作成し、そのコンテキストに対して特定の URL パターンを含めて、セキュリティ スキャンなどに適用する準備を整える。
export MY_CONTEXT=hoge
echo $MY_CONTEXT

curl -X GET "http://localhost:8090/JSON/context/action/newContext/?contextName=$MY_CONTEXT"
curl -X GET "http://localhost:8090/JSON/context/action/includeInContext/?contextName=$MY_CONTEXT&regex=http%3A%2F%2Flocalhost%3A3000%2F.*"

スパイダリング (Spider)

  • http://localhost:3000/ 以下のページを自動でクローリングし、リンクを辿って探索する。
curl -X GET "http://localhost:8090/JSON/spider/action/scan/?url=http://localhost:3000/&contextName=$MY_CONTEXT"

アクティブスキャン (Active Scan)

  • http://localhost:3000/ 以下のURLに対して、脆弱性を検出するためのセキュリティ テストを実施する。
curl -X GET "http://localhost:8090/JSON/ascan/action/scan/?url=http://localhost:3000/&recurse=true&inScopeOnly=true&contextName=$MY_CONTEXT"

アラートの要約を取得

  • http://localhost:3000/ に対するセキュリティ アラートの要約。アラートのレベル( High Low Medium Informational)が含まれる。
curl -X GET "http://localhost:8090/JSON/core/view/alertsSummary/?baseurl=http://localhost:3000/"

詳細なアラート情報を取得

  • http://localhost:3000/ に関連するアラート情報を最大 N 件取得。
  • JSON を DuckDB 3 などで参照すると、必要なアラート レベルごとの調査ができる。件数をカウントしたり、条件で絞ったり。
curl -X GET "http://localhost:8090/JSON/core/view/alerts/?baseurl=http://localhost:3000/&start=0&count=100" | jq > zap.json

Quick Note

10月は、久しぶりに Rust をやってみる予定。

しかし、今のところ、職場で Rust が役立つ予定は無い。

  1. https://www.zaproxy.org/docs/docker/baseline-scan/

  2. https://www.zaproxy.org/docs/api/

  3. https://duckdb.org/docs/

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?