XSS-labs(第十一关到第十六关)
本文总结了XSS漏洞测试中第11到16关的绕过方法。第11关通过修改HTTP Referer字段注入XSS代码;第12关利用User-Agent字段进行注入;第13关在Cookie中插入恶意代码;第16关通过使用img标签和回车编码绕过空格过滤。这些方法展示了XSS攻击利用不同HTTP请求头字段的多种可能性,以及如何通过编码和标签替换绕过基础过滤机制。每关均提供了具体的Payload示例,为XSS
前言
这次我们来学习第十一关到第十六关。
正文
第十一关
进入长这样
查看一下源代码
好像和第十关类似,我们看一下那个可以用
kun12343&t_link=aa&t_history=bb&t_sort=cc&t_ref=dd
和第十关差不多,我们试一下第十关的payload
kun12343&t_sort=cc"' onclick="alert(123)" type="text"
我们发现,这个双引号好像没有闭合value里面的值,说明后端对我们的输入进行实体化,这个时候没有办法了好像。我们就需要换一个注入点。
我们看最开始的时候,从第十关跳转到第十一关的样子,源代码如下:
第四个参数t_ref值
value="http://192.168.13.148/xss/level10.php?keyword=1&t_link=kun&t_history=aa&t_sort=%22%27%20onclick=%22alert(123)%22%20type=%22text%22"
这个值是从第十关的链接 。在HTTP 请求头字段中,有一个Referer值。它用来告知服务器,当前请求是从哪个页面链接过来的。
我们重新从第十关到第十一关
抓包
我们针对这个referer值,进行修改,输入,
"' onclick="alert(123)" type="text"
点击放行
我们看到成功绕过
点击框,
Payload
"' onclick="alert(123)" type="text"
第十二关
有了十一关的思路,我们直接看源代码。
第四个值,是HTTP请求里面的一个值,User-Agent字段,抓包看一下,没错,第四个值在User-Agent里面,我们这个时候试一下上一关的payload,在User-Agent里面进行替换。
"' onclick="alert(123)" type="text"
点击放行
成功通过
Payload
"' onclick="alert(123)" type="text"
第十三关
第十三关源代码如下
看到第四个值call me maybe?
我们抓包看到
试一下之前的payload在cookie上进行修改
看到弹框了
成功
Payload
"' onclick="alert(123)" type="text"
第十四关
这关有问题,我们直接跳过
第十五关
这一关我感觉有点问题,又说不上那有问题,我没成功浮现出来找了几个大佬的Payload
http://127.0.0.1/xss/level15.php?src='level1.php?name=<img src=1 onerror=alert(1)>'
?src='level1.php?name=<img src=XXX onmouseover=alert()>'
?src='level1.php?name=<img src=x onerror=alert(1)>'
第十六关
界面长这样
观察一下源代码:
输入:
'"><script>alert(123)</script>
script标签没了,替换成 ,查一下编码,这个是空格的html的实体编码,换个标签,试一下img标签
"'><img src=1 onerror="alert(123)">
我们看到,这个img标签没有被过滤,并且被识别了,但是还是有 ,我们的空格没了。这时候我们使用回车代替空格,来进行绕过。回车的编码为%0a
<img%0asrc=1%0aonerror="alert(123)">
Payload
<img%0asrc=1%0aonerror="alert(123)">
更多推荐
所有评论(0)