如何使XSS易受攻击的盒子



我想做一个小的输入框,用户可以在其中提交代码,就像他们放的那样发生

    <script>alert("this is an alert")</script>

然后页面上会弹出警报我需要这个用于教育目的

      <form><input type="text" name="xss"><input type="submit"></form>
    <p>Result: <?= $_GET['xss'] ?></p>

这就是我尝试过的,但它不起作用,w3c 没有涵盖如何使 XSS 易受攻击的输入

有几种方法可以做到这一点。正如一个人建议的那样,您确实可以使用 eval()。就像下面这样:

<input type='text' id='vulnBox' value="alert('hello');"/>
<button onclick="eval(document.getElementById('vulnBox').value)">test</button>

这是相应的小提琴示例 JSFiddle

如果你的交互更多的是客户端到服务器,那么你可以在php中使用$_GET从URL读取你的恶意javascript,并输出到页面的内容中。

因此,有人会访问带有以下URL的页面:

yoursite.com?xss=%3Cscript%3Ealert()%3C%2Fscript%3E

您的 PHP 文件将包含:

<?php echo urldecode($_GET['xss']); ?>

希望这有帮助!

最新更新