イベントハンドラ属性挿入
img onerror や details ontoggle などのイベント属性が残って実行されるか確認します。
HTML payload テスト
このシナリオは iframe sandbox ではなく、ユーザー入力が HTML/DOM にどう描画されるかを検証します。
- onerror, onclick, onload などの on* 属性が除去されるか確認
- タグ allowlist はあっても属性 allowlist が緩くないか確認
- CSP が inline event handler をブロックするか確認
Payload
コピーする payload
画像読み込み失敗イベントを利用する代表的な HTML 属性 XSS。
プレビュー
このプレビューは学習用に意図的に unsafe rendering を行います。実サービスでは payload はテキストとしてエスケープされるか除去されるべきです。
ログ
// ログなし
解説
<script>タグを除去しても、onerror,onclick,onloadなどのイベント属性が残ると script を実行できます。- タグ allowlist とは別に属性 allowlist を管理し、
on*属性は基本的に除去する方が安全です。 - CSP が inline event handler もブロックするか確認してください。