gpt4 book ai didi

javascript - 创建 XSS 易受攻击的网页

转载 作者:太空狗 更新时间:2023-10-29 14:22:51 24 4
gpt4 key购买 nike

我想创建一个 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>

请帮忙。我应该如何修改代码?
更新:我正在尝试做反射(reflect) XSS。根据我的说法,如果我在输入中输入脚本,它应该执行。仅当我不检查用户是否输入了有效输入并采取措施不执行脚本时,才会发生这种情况。
这是一个网页www.insecurelabs.org/task/Rule1当我输入如下脚本时,XSS 很容易受到攻击:<script> alert("hell"); </script>在输入字段脚本中执行。
我想知道这与我正在做的事情之间的主要区别是什么?

最佳答案

如果您使用 innerHTML 注入(inject)脚本标签...脚本将不会运行!

您可以改为使用 onload 事件处理程序注入(inject)图像:

<img src="someImage.gif" onload="alert('hacked!')" />

[更新] 关于您的最后一个问题:主要区别在于您使用的是 innerHTML,而 insecurelabs 页面使用的是 jQuery.html()。 jQuery 方法将运行脚本。

现场演示:http://jsfiddle.net/wqqWt/

关于javascript - 创建 XSS 易受攻击的网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15841964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com