事件处理器属性注入
检查 img onerror、details ontoggle 等事件属性是否在渲染后保留并执行。
HTML payload 测试
该场景测试用户输入在 HTML/DOM 中的渲染方式,而非 iframe sandbox 行为。
- 确认 onerror、onclick、onload 等 on* 属性是否被移除
- 确认即使有标签 allowlist,属性 allowlist 也没有过于宽松
- 确认 CSP 是否阻止 inline event handler
Payload
要复制的 payload
利用图片加载失败事件的经典 HTML 属性 XSS。
预览
此预览为了学习目的故意执行 unsafe rendering。真实服务中,该 payload 应被转义为文本或移除。
日志
// 无日志
说明
- 仅移除
<script>标签并不够。onerror、onclick、onload等事件属性仍可执行脚本。 - 除了标签 allowlist,还要维护属性 allowlist,并默认移除所有
on*属性会更安全。 - 同时确认 CSP 是否阻止 inline event handler。