Nam*_*man 7 html javascript security html5
我想创建一个XSS易受攻击的网页,它执行在输入框中输入的脚本.在这里我写了这段代码,但每当我输入脚本时都没有任何反应.
<html>
<head>
</head>
<body>
<script type="text/javascript">
function changeThis(){
var formInput = document.getElementById('theInput').value;
document.getElementById('newText').innerHTML = formInput;
localStorage.setItem("name","Hello world!!!");
}
</script>
<p>You wrote: <span id='newText'></span> </p>
<input type='text' id='theInput' value='Write here' />
<input type='button' onclick='changeThis()' value='See what you wrote'/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
请帮忙.我该如何修改代码?
更新:我试图反映XSS.据我说,如果我在输入中输入一个脚本它应该执行.只有当我没有检查用户是否输入了有效输入并采取不执行脚本的操作时,才会发生这种情况.
这是一个www.insecurelabs.org/task/Rule1XSS易受攻击的网页,当我输入如下脚本时:<script> alert("hell"); </script>输入字段脚本执行.
我想知道那和我在做什么之间的主要区别是什么?
如果您使用innerHTML注入脚本标签...脚本将无法运行!
您可以做的是使用 onload 事件处理程序注入图像:
<img src="someImage.gif" onload="alert('hacked!')" />
Run Code Online (Sandbox Code Playgroud)
[更新]关于你的最后一个问题:主要区别是你使用的是innerHTML,而insecurelabs页面使用的是jQuery.html()。jQuery 方法将运行该脚本。
现场演示: http: //jsfiddle.net/wqqWt/
| 归档时间: |
|
| 查看次数: |
508 次 |
| 最近记录: |