为什么说JavaScript中的eval()不安全,可能会被利用做XSS攻击,能给个例子吗?
eval(codeString),必选项 codestring 参数是包含有效 JScript 代码的字符串值。这个字符串将由 JScript 分析器进行分析和执行。
我们的JavaScript中的"\"字符是转义字符,所以可以使用"\"连接16进制字符串运行代码
<SCRIPT LANGUAGE="JavaScript">
eval("\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3a\x61\x6c\x65\x72\x74\x28\x22\x58\x53\x53\x22\x29")
</SCRIPT>