先使用http协议过滤,发现很多get方法中存在sql注入语句
随便点击一个,对其语句进行url解码
发现黑客是在猜解flag表的keyid字段,大概率flag就是keyid的值
盲注的区别就是返回包的不同状态
失败会返回nothing,并且返回包的长度是661,成功会返回文章内容,长度是695
之后写脚本: 1 import re 2
1 import re
2
3 with open("1.pcapng", "rb") as f: 4 contents = f.read() 5 res = re.compile(r'0,1\),(\d+),1\)\)=(\d+)%23').findall(str(contents)) 6 #正则表达式中定义了两个组,findall函数匹配正则表达式后将返回一个数组,每个数组元 7 #素都是一个元组,包含了第几个字符和盲注的acii码这边特别要注意(\d+)表示一个组,当findall提取时会在匹配的正则表达式中提取为元组
8 print(res) 9 dic = {} 10 for a, b in res: 11 if a in dic: 12 if int(b) > dic[a]: 13 dic[a] = int(b) 14 else: 15 dic[a] = int(b) 16 flag = "" 17 for i in range(1,39): 18 flag += chr(dic[str(i)]) 19 print(flag)
标签:res,流量,dic,re,flag,sql,盲注,findall From: https://www.cnblogs.com/zyToJH/p/18093709