JavaScript 字符串上下文逃逸
检查用户输入进入 script 字符串、JSON 启动状态或 inline 事件代码时,是否能逃逸当前上下文。
HTML payload 测试
该场景测试用户输入在 HTML/DOM 中的渲染方式,而非 iframe sandbox 行为。
- 确认用户输入不会直接写入 script 块
- 确认安全 JSON 序列化会处理 </script> 结束标记
- 不要只用 HTML 编码来保护 JavaScript 字符串上下文
Payload
要复制的 payload
用于测试值被插入 JavaScript 字符串字面量的场景。
预览
此预览为了学习目的故意执行 unsafe rendering。真实服务中,该 payload 应被转义为文本或移除。
日志
// 无日志
说明
- XSS 防护必须看输出上下文。放入
<script>window.__DATA__ = "..."</script>的值需要 JavaScript 字符串编码。 </script>即使出现在 JavaScript 字符串里,也可能被 HTML parser 当成 script 结束标记。- 更稳妥的做法是避免把不可信值直接放进 script 块,通过 JSON API 或 DOM text/attribute API 渲染。