javascript - JavaScript 引擎中的功能或安全漏洞

标签 javascript security eval

我在 XSS 领域进行了一些挖掘,发现了 javascript 中有趣的东西:

eval(\`// alert(document.cookie)\`)

没有按预期做任何事情,但是

 eval(\`// \r alert(document.cookie)\`)

弹出带有 token 的警报... \r char 输出注释并开始执行脚本

在 IE11、Edge 和 Chrome 中测试,均具有相同的行为。

这是预期的事情吗?我认为这是一个问题......

问候, 叶夫根尼

最佳答案

这是预期的行为。

A \r 是回车符。它开始一个新行。

// 是行注释,它只注释掉它所在的行。

<小时/>

eval 的其他问题相比,这不再是一个安全问题。如果你使用它,你必须了解你给它的输入是什么。

关于javascript - JavaScript 引擎中的功能或安全漏洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41084804/

相关文章:

javascript - macOS Catalina 上的 Safari - 开发人员工具中缺少 "Debugger"选项卡?

azure - Azure Web Apps 上开放端口 7654 的作用是什么

python - 如何在不使用 eval() 或 exec() 的情况下创建规则引擎?

eval - eval(Expr( :call, m.f,x)) 是好 Julia 吗?

javascript - 如何在不将所有其他元素 z-index 变为负数的情况下使用 z-index 时使链接可点击?

javascript - Bootstrap-datepicker getDate 错误结果

javascript - 在另一个先前动态创建的 div 中附加一个动态 div

java - 从 DEROctetString 到 KeyUsage

android - 在 Android 中将应用程序移动到 SD 卡时会发生什么

logging - 创建用户定义的 gdb 命令以将所有参数的值打印到日志文件