data: URL wrapper
iframe、object、embed、link preview などの URL 属性で data:text/html が許可され、別 HTML 文書が実行されるか確認します。
HTML payload テスト
このシナリオは iframe sandbox ではなく、ユーザー入力が HTML/DOM にどう描画されるかを検証します。
- src/data/href などの URL 属性で data: scheme を基本ブロックするか確認
- 必要な場合は MIME type を画像などに限定するか確認
- wrapper tag が sandbox なしで HTML 文書を作れるか確認
Payload
コピーする payload
data: URL の子文書が script を実行し親へ message できるか確認します。
プレビュー
このプレビューは学習用に意図的に unsafe rendering を行います。実サービスでは payload はテキストとしてエスケープされるか除去されるべきです。
ログ
// ログなし
解説
data:text/htmlは URL に見えますが、ブラウザは新しい HTML 文書として扱えます。- sanitizer が tag を許可しつつ URL policy を広くしすぎると iframe/object/embed の組み合わせが危険になります。
- embed 機能では tag allowlist だけでなく URL protocol、host allowlist、sandbox、referrer policy も設計します。