almost 9 years ago
pcap 的內容包含了一個 blind SQL injection 的流量,解出 blind 出的字串即為 flag。
首先用 tcptrace -xHTTP -f'port=80' sqlmap.pcap > scan
找出所有 HTTP Requests。
接下來找出 blind 用的 requests,並且用 content length 判斷結果。
import re
f = open('scan','r')
idx = -1
num = -1
ans = -1
s = ''
for l in f:
parts = re.findall('GET /message.php.*LIMIT.*\x02(.*)\x02.*\x03(.*) HTTP',l)
if len(parts) > 0:
nidx,num = parts[0]
nidx = int(nidx)
num = int(num)
if idx != -1 and idx != nidx:
s += chr(ans)
idx = nidx
else:
parts = re.findall('Content Length: (.*)',l)
if len(parts) > 0:
ret = int(parts[0])
if ret < 140:
ans = num
print('%d %d %d'%(idx,num,ret))
s += chr(ans)
print(s)
Flag: ISG{BLind_SQl_InJEcTi0N_DeTEcTEd}