about 4 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}

← ISG2014 BT ISG2014 Chopper →