BugKu之blind_injection (手工法与脚本法)

目录

手工法

脚本法

手工法flag错误原因


下载解压文件,根据题目意思,应该是一道SQL盲注的流量题,这种题目一般有两种解法,一种是手工,另一种是利用脚本跑出flag,本题需要一定的SQL注入知识

手工法

我们先导出http流,查看一下SQL盲注过程

文件——导出对象——HTTP

根据http请求分析,估计这流量打的应该是sqli-labs的靶场,但是我们还不能很确定盲注的字符,哪个才是正确的,但是一般都是响应包字节不同或者是序号中的最后一个才是正确的字符,所以我们过滤一下http流,观察一下正确的响应包

回到原来的界面,输入http并回车,观察发现的确序号是最后一个才是正确的字符,而且响应包长度是764,盲注错的响应包是763,所以废话不多说,再次导出http流,我们直接拉到后面爆flag的http请求

注意到不是用二分法是用递增的方法跑的,后面的操作都是在爆表名,所以flag肯定就是某一个表名

观察发现,到1629组时开始爆出flag,每个数字后面的最后一位就是正确的表名,到这里我们可以手工一个拼接起flag了

值得注意的是,拼接完后的flag是错误的,是因为第十五个字符没跑出来

这里应该是作者调皮,把第十五个正确跑出来的字符http请求给删掉了,而且是递增跑的,所以正确的字符应该就在2后面的ascii码对应的字符里,从3开始猜数发现flag正确

脚本法

简单思路就是,先利用文件流操作,将跑表名的http请求给过滤出来,然后再利用re库正则匹配序号以及盲注的字符,配合字典的方法过滤掉盲注错误的字符,就得到flag了

下面是我自己写的python脚本

#文件流过滤目标类型:
#?id=1'%20and%20substr((select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database()),52,1)='f'%20--+ HTTP/1.1



import re

#用列表存放过滤出来的http请求
text=[]

with open(r"cap.pcap","rb") as f:
    for i in f.readlines():
        if b"?id=1'%20and%20substr((select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database())" in i:
            text.append(i.strip())
f.close()

#利用字典配合正则提取正确盲注的字符
flag={}
for i in text:
    try :
        num = int(re.search(br"database\(\)\),(\d+),1\)",i).group(1).decode())      #匹配序号
        str = re.search(br"1\)='(.|\n)'%20--\+ HTTP/1.1",i).group(1).decode()       #匹配字符
        flag[num] = str                                                             #过滤错误的字符
    except:
        pass

#输出
for i in flag.values():
    print(i,end="")

运行结果:

得到正确flag: 

flag{e63d3da86fe34a83bbfbdb9d3177a641}

手工法flag错误原因

盲注正确的报文确实是存在的,只是被出题人动了手脚,导致正确盲注的第十五位flag没在wireshark显示出来

所以用脚本跑出来的flag才是正确的

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金 帛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值