loading...
XSS靶场实战二(11-20关)
Published in:2022-03-15 | category: CTF | 靶场

0x11


F12发现多了一个参数,也把这个参数加入到url。

发现还是出现在t_sort参数,尝试使用上一关的payload

没有反应,查看源码发现是对”进行了实体化编码,改变思路。因为必须要使用一个”进行闭合,但由于实体化,导致无论如何不能将value的值进行闭合。
多出来的t_ref可能是个切入点,因为平时没有碰到过,经验比较少,查阅资料后
了解到Referer头注入。

图中有HTTP_REFERER
在第十关即将结束的时候点击确定并用bp抓包

看到有Referer参数,尝试将上一关的payload写入Referer,

0x12


从11关开始需要进行代码审计,所以可以打开php文件进行代码的审查

可以发现本关加入了User-Agent
User-Agent中文名为用户代理,是HTTP协议中的一部分,属于头域组成,向访问网站提供所使用的的浏览器类型及版本、操作系统及版本、浏览器内核等信息的标识。
尝试抓包

找到User-Agent
将里面内容改成payload

点击输入框弹窗

0x13


仍然利用代码审计,查看可利用的位置。

由变量名可得本关可能是COOKIE注入

0x14


本关为Exif XSS漏洞。Exif是可交换图像文件格式(英语:Exchangeable image file format),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。
意思是可以通过修改图片的属性将XSS的payload写到图片里面,由浏览器负责读取图片属性造成XSS攻击。链接好像失效了,没有进一步操作。

相关Exif链接

0x15


F12查看源码,发现有个注释过的ngInclude,百度搜索下,发现是一个AngularJS的扩展


进行代码审计

参数为src


使用ng-include跳转到第一关的html然后触发xss达到目的
构造payload

1
http://127.0.0.1/xss-labs/level15.php?src="http://127.0.0.1/xss-labs/level1.php?name=test<img src=1 onerror=alert(1)>"

0x16


F12查看源码,每一关都通过keyword传入下一关,尝试用keyword传入参数1

发现还是有keyword的,同时测试是否过滤了某些关键字符
script,on,href,src,alert
最后发现script过滤了,所以不能直接script弹窗。输出是在标签内部,所以可以用,构造payload为

1
<img src=x onclick=alert(1)>


发现空格被实体化了,尝试转换为换行符进行注入。

0x17


按照惯例,F12查看参数和注入点
g
发现一个疑似注入点,随机输入参数,没有变化,进行代码审计

embed标签是用来嵌入图片的
看到有两个参数,arg01和arg02,重新输入参数。

1
http://127.0.0.1/xss-labs/level17.php?arg01=a


发现自动对参数的=号移到了后面,且添加arg02参数后,发现其实是将arg01的参数与arg02参数拼接在一起,尝试构造payload
可以尝试用onclick或onmouseover绕过过滤,onmouseover函数是将鼠标移动到对应位置上触发函数

1
?arg01=a&arg02=b onmouseover=alert(1)

0x18

第十八关和第十七关解题思路一样,主要是图片不一样,其他都相同,直接在后面填入payload就通关。

0x19


本关的思路是flash XSS,一般触发的类型有getURL,externalinterface.call,addcallback与lso结合等。
需要将网站上的swf文件下载下来。再将flash反编译一下,这里用的是jpex
在github上开源。
由于flash已经不支持在浏览器上运行,这里不好复现。
可以看看一篇文章
flash XSS解题

0x20

20关和19关的解题思路一样的,都是关于Flash XSS如何突破,学的少不是很会,可以看看其他相关文章

Prev:
Log4j2漏洞复现
Next:
靶场实战之BugKu(WEB)
catalog
catalog