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

Feature or security loophole in javascript engines

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

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

没有按预期执行任何操作,但是

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

弹出带有令牌的警报...\r char 删除注释并开始执行脚本

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

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

此致, 叶夫根

这是预期的行为。

一个\r是一个马车return。它开始一个新行。

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


eval 的任何其他问题一样,这也不是安全问题。如果你使用它,你必须明白你给它的输入是什么。