【发布时间】:2013-04-05 19:26:48
【问题描述】:
我想创建一个 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>。
我想知道这与我在做什么之间的主要区别是什么?
【问题讨论】:
-
XSS 是指攻击者可以将 persistent HTML 注入页面。直接修改页面不是 XSS。任何人都可以随时通过开发者控制台执行此操作。
-
不,我正在尝试Reflected XSS。你可能想看看:en.wikipedia.org/wiki/Cross-site_scripting
-
反射型 XSS 依赖于通过查询字符串注入脚本。您的表单应该只向同一页面发出 GET 请求,并让 JavaScript 分析
window.location.search以获取 RXSS 数据。 -
-
我已经对这个问题做了更多解释。
标签: javascript html security