mcpField
P
pentest-xss

pentest-xss

github.com/crtvrffnrtセキュリティ4100 回インストール今日更新
リポジトリ

pentest-xss について

pentest-xssは、反射型・格納型・DOM型・ブラインドXSSを評価するセキュリティスキルです。許可範囲内で最小限の証拠によりブラウザー実行を確認し、コンテキストや前提条件、影響を記録します。

主な機能

  1. 01制御可能な入力元とシンクの特定
  2. 02HTML・スクリプト・DOMの文脈分析
  3. 03最小ペイロードによる実行確認
  4. 04ブラインドXSSのコールバックと対照の照合
  5. 05証拠の整理と修正方針の提示

活用シーン

  1. 01反射型または格納型XSSの評価
  2. 02DOMの入力元から危険なシンクを追跡
  3. 03CSPやフィルターの挙動確認
  4. 04再現可能なXSS証拠の記録

インストール

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

$npx skills add https://github.com/crtvrffnrt/skills --skill pentest-xss

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

同梱ファイルexamples/match-and-replace-examples.mdresources/blind-xss-guide.md

詳細

クロスサイトスクリプティング評価

目的

制御可能なソースとブラウザー実行コンテキストを対応付け、安全に実行を証明し、必要に応じてコールバックやパーサーに関する作業を引き継ぐことで、XSSを検出して検証します。

使用する場面

  • 担当フェーズが反射型、格納型、DOM型、またはブラインドXSSである場合。
  • HTML、属性、JavaScript、URL、CSS、テンプレート、またはブラウザーのシンクコンテキスト分析が必要な場合。
  • CSP、WAF、サニタイザー、エンコード、またはクライアント側のソースからシンクまでの挙動が中心となる場合。

入力

  • 対象URL、パラメーター、ヘッダー、Cookie、本文フィールド、DOMソース、または取得済みのリクエスト。
  • スコープと対象の許可リスト。
  • 格納される画面や管理者が閲覧する画面が関わる場合は、認証済みセッションまたはテストアカウント。
  • CSP、サニタイザーの挙動、クライアント側のソース、プロキシのトラフィック、OOBリスナーの詳細(任意)。

ワークフロー

  1. ペイロードを注入する前に、スコープ、ユーザーの認証コンテキスト、安全なテスト対象を確認します。
  2. 制御可能なソースを列挙します。URLパラメーター、パスセグメント、ヘッダー、Cookie、JSON/XML/フォームフィールド、アップロード、および location、postMessage、ストレージ、リファラーなどのDOMソースが含まれます。
  3. リフレクションまたはシンクのコンテキストを特定します。HTMLテキスト、タグ、属性、スクリプトブロック、URL、CSS、テンプレート、Markdown、リッチテキスト、または innerHTML、outerHTML、insertAdjacentHTML、document.write、eval、フレームワークのエスケープ機構などの危険なDOMシンクが該当します。
  4. 実行可能なペイロードを使う前に、無害なマーカーとコンテキストブレーカーから始めます。
  5. トークンの窃取、ユーザーのリダイレクト、本番環境の状態の妨害を行わずに実行を証明できる、最小限のペイロードを使用します。
  6. 格納型またはブラインドの経路では、一意のトークン、タイムスタンプ、管理下にあるコールバックエンドポイントを使用します。
  7. 無害なマーカー、エスケープ済みマーカー、別のコンテキスト、別のロールや閲覧者、想定される拒否経路を比較します。
  8. 成立する能力を証明した時点で停止し、正確なリクエストとレスポンス、描画されたコンテキスト、ブラウザーでの証拠、タイムスタンプを保存します。

検証ゲート

  • リフレクションだけを根拠にXSSを報告しないでください。ブラウザーでの実行、または実行可能なコンテキストを伴う明確なソースからシンクまでの経路を証明してください。
  • ブラインドXSSでは、トークン、パスまたはサブドメイン、タイムスタンプ、対照結果を用いて、決定的なOOB相関を確認してください。
  • DOM XSSでは、制御可能なソース、変換経路、シンク、必要なユーザーまたはブラウザーの操作を特定してください。
  • CSPまたはWAFの回避を主張する場合は、関連するポリシーやフィルターの挙動、および有効な対照比較を示してください。

状況認識

  • 大規模な検索と置換の自動化より、少量の手動テストを先に行います。
  • 自動化は、許可リストに登録されたホストとパラメーターに対してのみ、一意で追跡可能なマーカーと停止条件を設定して使用してください。
  • コンテンツタイプ、ブラウザー、サニタイザー、またはリクエストパーサーによってペイロードの挙動が変化する場合に限り、パーサーやエンコードの調査に切り替えます。

引き継ぎ基準

  • ブラインドXSSのコールバック設定、トークン付与、監視、相関については pentest-outbound-interaction-oob-detection に引き継ぎます。
  • パーサーの差異、エンコードの混同、コンテンツタイプの変更、またはリクエストの改変については pentest-input-protocol-manipulation に引き継ぎます。
  • 実行と影響の証拠が揃ったら pentest-evidence-structuring-report-synthesis に引き継ぎます。

出力

  • XSSの種類とコンテキスト。
  • ソース、変換経路、シンク、必要な前提条件。
  • 必要に応じて機密情報を伏せた、最小限の実証用ペイロードまたはマーカー。
  • 対照条件を含む、ブラウザーまたはコールバックの証拠。
  • 到達可能なユーザーロールと、露出するデータや操作に関連付けた影響の説明。
  • 出力エンコード、サニタイザーの設定、CSP、フレームワークのエスケープ機構、またはシンクの置き換えに関する修正ガイダンス。

コメント