我在 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/