pentest-xss について
pentest-xssは、反射型・格納型・DOM型・ブラインドXSSを評価するセキュリティスキルです。許可範囲内で最小限の証拠によりブラウザー実行を確認し、コンテキストや前提条件、影響を記録します。
主な機能
- 01制御可能な入力元とシンクの特定
- 02HTML・スクリプト・DOMの文脈分析
- 03最小ペイロードによる実行確認
- 04ブラインドXSSのコールバックと対照の照合
- 05証拠の整理と修正方針の提示
活用シーン
- 01反射型または格納型XSSの評価
- 02DOMの入力元から危険なシンクを追跡
- 03CSPやフィルターの挙動確認
- 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リスナーの詳細(任意)。
ワークフロー
- ペイロードを注入する前に、スコープ、ユーザーの認証コンテキスト、安全なテスト対象を確認します。
- 制御可能なソースを列挙します。URLパラメーター、パスセグメント、ヘッダー、Cookie、JSON/XML/フォームフィールド、アップロード、および
location、postMessage、ストレージ、リファラーなどのDOMソースが含まれます。 - リフレクションまたはシンクのコンテキストを特定します。HTMLテキスト、タグ、属性、スクリプトブロック、URL、CSS、テンプレート、Markdown、リッチテキスト、または
innerHTML、outerHTML、insertAdjacentHTML、document.write、eval、フレームワークのエスケープ機構などの危険なDOMシンクが該当します。 - 実行可能なペイロードを使う前に、無害なマーカーとコンテキストブレーカーから始めます。
- トークンの窃取、ユーザーのリダイレクト、本番環境の状態の妨害を行わずに実行を証明できる、最小限のペイロードを使用します。
- 格納型またはブラインドの経路では、一意のトークン、タイムスタンプ、管理下にあるコールバックエンドポイントを使用します。
- 無害なマーカー、エスケープ済みマーカー、別のコンテキスト、別のロールや閲覧者、想定される拒否経路を比較します。
- 成立する能力を証明した時点で停止し、正確なリクエストとレスポンス、描画されたコンテキスト、ブラウザーでの証拠、タイムスタンプを保存します。
検証ゲート
- リフレクションだけを根拠にXSSを報告しないでください。ブラウザーでの実行、または実行可能なコンテキストを伴う明確なソースからシンクまでの経路を証明してください。
- ブラインドXSSでは、トークン、パスまたはサブドメイン、タイムスタンプ、対照結果を用いて、決定的なOOB相関を確認してください。
- DOM XSSでは、制御可能なソース、変換経路、シンク、必要なユーザーまたはブラウザーの操作を特定してください。
- CSPまたはWAFの回避を主張する場合は、関連するポリシーやフィルターの挙動、および有効な対照比較を示してください。
状況認識
- 大規模な検索と置換の自動化より、少量の手動テストを先に行います。
- 自動化は、許可リストに登録されたホストとパラメーターに対してのみ、一意で追跡可能なマーカーと停止条件を設定して使用してください。
- コンテンツタイプ、ブラウザー、サニタイザー、またはリクエストパーサーによってペイロードの挙動が変化する場合に限り、パーサーやエンコードの調査に切り替えます。
引き継ぎ基準
- ブラインドXSSのコールバック設定、トークン付与、監視、相関については
pentest-outbound-interaction-oob-detectionに引き継ぎます。 - パーサーの差異、エンコードの混同、コンテンツタイプの変更、またはリクエストの改変については
pentest-input-protocol-manipulationに引き継ぎます。 - 実行と影響の証拠が揃ったら
pentest-evidence-structuring-report-synthesisに引き継ぎます。
出力
- XSSの種類とコンテキスト。
- ソース、変換経路、シンク、必要な前提条件。
- 必要に応じて機密情報を伏せた、最小限の実証用ペイロードまたはマーカー。
- 対照条件を含む、ブラウザーまたはコールバックの証拠。
- 到達可能なユーザーロールと、露出するデータや操作に関連付けた影響の説明。
- 出力エンコード、サニタイザーの設定、CSP、フレームワークのエスケープ機構、またはシンクの置き換えに関する修正ガイダンス。
コメント
Markdown 対応