我想做一个小输入框,用户可以在其中提交代码,就像我们提出的那样
<script>alert("this is an alert")</script>
然后会在页面上弹出一个警告 我需要这个用于教育目的
<form><input type="text" name="xss"><input type="submit"></form>
<p>Result: <?= $_GET['xss'] ?></p>
多数民众赞成我尝试了但它不起作用,而且w3c没有涵盖如何使XSS易受攻击的输入
答案 0 :(得分:0)
有几种方法可以做到这一点。正如一个人建议你确实可以使用eval()。如下所示:
<input type='text' id='vulnBox' value="alert('hello');"/>
<button onclick="eval(document.getElementById('vulnBox').value)">test</button>
这是相应的小提琴示例JSFiddle
如果您的互动更多客户端到服务器,那么您可以在php中使用$ _GET从网址中读取恶意javascript并输出到网页内容中。
所以有人会使用以下网址访问该网页:
yoursite.com?xss=%3Cscript%3Ealert()%3C%2Fscript%3E
并且您的php文件将包含:
<?php echo urldecode($_GET['xss']); ?>
希望这有帮助!