前言:之前打XSS平台时,打到了第11关就没有继续了,现在有空了就继续打咯,再增加点关于XSS的知识。
第十一关
这关坑我好长时间,看了好多博客直接给说修改Referer,给截图中都有自带的Referer值,修改就行,但是我怎么抓都抓不到Referer值。还以为自己设置有问题,去查burp各种的设置。。。
终于看了一篇很细的大佬博客,才算搞懂,Referer值是自己加上的,这里就详细的介绍一下这关,别让和我一样的小白继续跌坑。
我们从第十关来到第十一关(不要直接跳到第十一关,否则看不出任何线索)
进入第十一关后看源码
发现t_ref字段中,value的值是http referer的值,所以这关应该考的就是http头部的xss注入
,那只要在Referer值中注入xss,也会出现在value值中,就会注入成功。
构造Referer(手动构造的,不是一抓包就有的)
注入成功
forward发包
再关闭即可
这里的Referer值是自己构造的,有的大佬一抓包就有,我的怎么抓也没有,这点困扰我很长时间,但其实不论是本地还是在线网站我都抓不到Referer原来的值,这里应该就是抓不到原来的Referer,也可能是我没修改好的问题吧。
附上payload:1
2
3Referer: " onmouseover=alert(/xss/) type="text"
#onmouseover 事件属性
#当鼠标指针移动到图像上时执行一段 JavaScript
第十二关
查看源码,发现t_ref字段中,value的值是User-Agent的值,所以和第十一题一样了,我们就抓包修改User-Agent即可。
接下来的流程就和第十一关相同了,这里就不阐述了
附上payload:
1 | User-Agent: " onmouseover=alert(/xss/) type="text" |
第十三关
查看源代码
抓包发现和cookie的值相同
那原理和第十关和第十一关就相同了,直接构造playload即可
附上payload:
1 | Cookie: user=" onmouseover=alert(/xss/) type="text" |
第十四关
这关需要结合漏洞,直接看先知上的wp了解一下exif xss
XSS挑战之旅—游戏通关攻略
第十五关
查看源码
发现两处不认识的东西,百度查寻
同时也发现ng-include是AngularJS的一个指令
那注入点应该就在ng-include
这里了,先知博客上用的包含第一关的php文件,然后用标签<img>
进行xss.
附上payload:1
?src='level1.php?name=test<img src=1 onerror=alert(/hacker/)>'
第十六关
还按照之前的套路,先试一些常见的payload,看看都过滤了什么
输入
1 | http://test.xss.tv/level16.php?keyword=<script>alert(/xss/)</script> |
发现过滤了script
,\
,还有空格
这里利用%0d、%0a(回车换行)
实现xss攻击绕过,代替空格
即可
附上payload:1
2?keyword=<img%0dsrc=1%0donerror=alert(/xss/)>
?keyword=<img%0asrc=1%0aonerror=alert(/xss/)>
第十七关
先输入最常见的,看下情况
1 | ?arg01=a&arg02=<script>alert(/xss/)</script> |
发现
这里是输出点,过滤了<>
换onclick
事件尝试,发现"
被过滤
那就用on事件,反正就是各种尝试,结果确实on事件能过
payload:1
2
3?arg01=a&arg02= onmouseover=alert(/xss/)
#onmouseover 事件属性
当鼠标指针移动到图像上时执行一段 JavaScript:
第十八关
刚进去发现
这和第十七关挺像的试试刚才的payload
….一模一样
payload:
1 | ?arg01=a&arg02= onmouseover=alert(/xss/) |
这次就先学习到这,后面的涉及Flash,待有空再研究。另附上大佬博客
XSS挑战之旅—游戏通关攻略
XSS练习小游戏