能否通过操控JS错误消息在管理面板中挖掘XSS漏洞?
XSS漏洞可能性分析
结论:完全存在利用该错误消息触发XSS漏洞的可能
核心原因
代码中使用innerHTML将err.message直接插入到页面中,而innerHTML会解析并执行嵌入的HTML/JavaScript代码。如果err.message的内容可以被你控制,就可以注入恶意脚本。
关键验证点
- 可控性检查:确认你能否通过构造请求(比如修改URL参数、请求头,或者触发错误的特定操作)来控制
err.message的内容。比如,是否可以通过篡改parent.window.location.href相关的输入,让代码抛出包含你指定内容的错误。 - 过滤机制检查:查看目标页面是否对
err.message做了HTML转义处理(比如把<转成<、>转成>)。如果没有任何转义直接插入innerHTML,则XSS漏洞必然存在。
测试步骤
- 触发目标页面的
try/catch错误逻辑,确保进入到替换innerHTML的分支。 - 尝试将
err.message构造为XSS payload,比如:
(优先用这类不需要<img src=x onerror=alert(1)><script>标签的payload,避免部分环境的标签过滤) - 观察页面是否执行了payload(比如弹出警告框),若执行则证明存在XSS漏洞。
内容的提问来源于stack exchange,提问作者Mach
相关产品推荐
相关产品推荐

