我正在通过这个ppt学习xss预防:http://stash.github.io/empirejs-2014/#/2/23,我在这个页面上有一个问题.
它说"JavaScript清理无法从innerHTML中拯救你",我尝试了这样一个简单的测试:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<div id="test"></div>
<script>
var userName = "Jeremy\x3Cscript\x3Ealert('boom')\x3C/script\x3E";
document.getElementById('test').innerHTML = "<span>"+userName+"</span>";
</script>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
当我在浏览器(chrome)上打开这个html时,我只看到了名字"Jeremy",通过使用F12,我看到了
<div id="test"><span>Jeremy<script>alert('boom')</script></span></div>
Run Code Online (Sandbox Code Playgroud)
虽然脚本已添加到html中,但警报框没有出现.
"JavaScript清理不会使你免于innerHTML"我认为这意味着应该提醒"繁荣"这个词.我对吗?