script タグ挿入
ユーザー入力が HTML 文書としてそのまま解析されるとき、script タグが実行されるか確認します。
HTML payload テスト
このシナリオは iframe sandbox ではなく、ユーザー入力が HTML/DOM にどう描画されるかを検証します。
- 入力値がテキストとしてエスケープされるか、本物の script タグとして解析されるか確認
- HTML フィルタが script タグと危険な属性を除去するか確認
- CSP script-src が inline script 実行を止めるか確認
Payload
コピーする payload
HTML 文書への生反映を確認する最も基本的な payload。
プレビュー
このプレビューは学習用に意図的に unsafe rendering を行います。実サービスでは payload はテキストとしてエスケープされるか除去されるべきです。
ログ
// ログなし
解説
- サーバーがユーザー入力を HTML 文書にそのまま反映すると、
<script>タグが parser によって実行されます。 - 一方で
innerHTMLに後から挿入された script タグは現在のブラウザでは通常実行されません。そのため、このページでは文書全体の解析を隔離プレビューで再現します。 - 対策はコンテキスト別の出力エンコーディング、信頼できる HTML フィルタ、CSP
script-srcの組み合わせで確認します。