You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

评估自定义JavaScript转义函数的XSS安全性

该转义函数存在XSS安全漏洞

这个函数的设计存在多处缺陷,会导致XSS攻击风险,具体问题如下:

1. 危险关键字检测可轻易绕过

  • 检测逻辑使用match("prompt")和match("alert"),这两个方法区分大小写。输入Alert、PROMPT或混合大小写的AlErT等变体,都不会被检测到。
  • 可以通过拆分关键字的方式绕过检测,比如输入al'+'ert(1),转义后的字符串不包含完整的alert,无法被匹配规则捕获。

2. 转义规则不完整

函数仅对<、>、&三个字符进行转义,未处理'、"、/等危险字符:

  • 如果后续代码修改,将函数输出用于HTML属性(如<div title="..."),输入的引号可以突破属性边界,插入onmouseover、onclick等恶意事件脚本。
  • 未覆盖Unicode编码、全角字符等其他可能被浏览器解析为特殊符号的场景,扩展使用场景时会暴露风险。

3. 关键字检测时机错误

函数在转义完成后才检测危险关键字,而非原始输入阶段:

  • 若输入内容通过实体编码拆分关键字(如a&#x6C;ert),转义后会变成a&amp;#x6C;ert,虽然最终浏览器解析后会显示为alert,但转义后的字符串不包含完整关键字,可绕过检测。

即使当前函数仅用于生成div文本内容,不会直接触发XSS,但这些缺陷会让函数在场景变化或遭遇间接攻击时,完全失去防护能力。

内容的提问来源于stack exchange,提问作者Puzzled

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 14:45:20