创建易受XSS攻击的网页
Creation of XSS vulnerable web page
我想创建一个易受攻击的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>
请帮助。我应该如何修改代码?
更新:我试图做反映XSS。根据我的说法,如果我在输入中输入一个脚本,它应该执行。只有当我没有检查用户是否输入了有效的输入并采取不执行脚本的操作时,才会发生这种情况。
这是一个网页www.insecurelabs.org/task/Rule1
,这是XSS易受攻击,当我输入一个脚本,如:<script> alert("hell"); </script>
在输入字段脚本执行。
我想知道它和我正在做的事情的主要区别是什么?
如果你使用innerHTML注入一个脚本标签…脚本无法运行!
你可以用onload事件处理器注入一个图像:
<img src="someImage.gif" onload="alert('hacked!')" />
[更新]关于你的最后一个问题:主要的区别是,你正在使用innerHTML,而不安全的网页是使用jQuery.html()。jQuery方法将运行脚本。
现场演示:http://jsfiddle.net/wqqWt/
只是eval
的代码:
function changeThis(){
var formInput = document.getElementById('theInput').value;
eval(formInput);
}
相关文章:
- 如何防止网页加载后自动启动功能
- 如何使用Node.js最有效地解析网页
- 刷新后保留对网页的更改
- AJAX不会在文件上传后重定向到网页-POST方法
- 使用谷歌网站翻译器自动翻译网页
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 仅重新加载网页的一部分
- 每次提交表单时都会重新加载网页
- 打开网页后立即获取网页的活动javascript函数
- 链接两个网页或网络应用程序的最佳方式
- Android键盘不适用于包含Javascript的网页
- 网页上失败的javascript会导致所有其他脚本失败
- 在网页上显示当前股票报价
- HTML 5 和 3.js 代码不会在网页上显示任何内容
- 使用javascript替换网页上的文本
- 如何建立一个网页,检查我的路由器网络接口是否可以访问
- 如何在Java应用程序中阻止XSS攻击并防止用户在网页上执行JavaScript
- 如何检测网页中的点击劫持攻击
- 创建易受XSS攻击的网页
- 如何防止网页游戏被黑客攻击