题目链接
level1-未过滤的字符串输入
没有任何过滤,最基本的操作:<script>alert(1)</script>
level2-服务端存储漏洞
查看网页源码,我们在用户字段输入的文字被外部标签<blockquote>
标签包裹,尝试level1中的操作,发现无法弹窗。在<script>
标签无法触发的时候,尝试用另一个标记来触发javascript,考虑到数据是永久存储在对方服务器上的,所以可以这样输入:<img src="x" onerror="javascript:alert(1)"/>
,成功触发弹窗
level3-隐藏的未过滤字段
查看网页的源码,发现图片的加载实际上是由window.location.hash决定的,它决定包括#号和它后面跟的东西。利用'><script>alert(1);</script>
进行绕过(替换#后面跟的东西)
level4-就近原则绕过检查
首先分析网页主体元素,当在输入栏输入某个秒数后,观察url的变化。尝试alert弹窗,再次观看url地址栏的变化,地址栏直接输出了,但是奇怪的是下面的计时器脚本仍然被执行了,想到应该是设置了默认值。查看网页源码,看名识代码,这个函数和计时器息息相关。看到了确实有个默认值等于3秒,这就是之前直接alert弹窗失败的原因。尝试1');alert('1
,成功触发弹窗
level5-逃脱过滤字符
发现< a href>标签,这种payload直接java伪协议,然后点击触发javascript:alert(1)
,成功触发弹窗
level6-针对动态JavaScript加载
利用data伪协议:data:text/plain,alert('xss')
google-xss-game
最新推荐文章于 2024-03-19 19:21:15 发布