父页面 message listener 指纹探测
向父页面发送多种 postMessage payload,并观察响应或副作用。
按 sandbox 策略的行为
| 策略 | 预期结果 |
|---|---|
| 无 sandbox | 通过 |
sandbox="allow-scripts" | 通过 |
sandbox="" (最严) | 阻止 |
Embed 代码
此代码使用专用嵌入页面。粘贴到您的服务后检查渲染或拦截行为。
<iframe src="https://xss-playground.com/embed/parent-message-listener-probe?lang=zh" title="XSS Playground - 父页面 message listener 指纹探测" width="600" height="420" loading="lazy" referrerpolicy="strict-origin-when-cross-origin"></iframe>
执行
target origin
// 无日志
来自父页面的响应
// 无响应
说明
- 无法直接读取父页面的 message listener,但可以发送多种 payload,并观察回复、视觉变化或路由变化。
- 如果 listener 在没有 origin 校验的情况下执行路由、认证、resize、关闭等动作,iframe 就可能影响父页面行为。
- 防护方式包括 origin allowlist、message schema 校验、忽略意外消息,以及敏感动作需要用户确认。