1.用wireshark打開題目所給的流量包
獲得如下信息
2.首先在分組字節流中搜索一下字符串 flag找到第一個包追蹤一下數據流。
追蹤tcp流發現為qq郵箱傳輸文件
3.既然知道了在上傳文件,肯定要用到 http的request的 POST方法
在過濾器中輸入
http && http.request.method==POST
4.找到這5個包,第一個包是文件的信息,后面5個包為數據
分別查看其中 date 的長度:
前四個為131436 最后一個為17777
所以131436*4+17777=527571與第一個包給出的 fly.rar的長度525701差 1820
因為每個包都包含頭信息,1820/5 = 364
所以每個包的頭信息為 364
5.導出數據包
wireshark->文件->導出對象->http->選擇save對象
將對應的包分別save 為 1 2 3 4 5
6.將這五個包拖進kali中
執行命令
dd if=1 bs=1 skip=364 of=11 dd if=2 bs=1 skip=364 of=22 dd if=3 bs=1 skip=364 of=33 dd if=4 bs=1 skip=364 of=44 dd if=5 bs=1 skip=364 of=55
將數據包的頭部的364個字節去除得到 11 22 33 44 55
7.將這五個包合並
執行命令
cat 11 22 33 44 55 > fly.rar
8.查看一下 flag.rar的md5值是否正確
執行命令
md5sum fly.rar
md5值正確!!!
9.解壓,跳出提示文件頭損壞,並且要求輸入密碼
知道是偽密碼,用010打開,修改文件頭,將 84 改為 80,保存
10.解壓得到flag.txt 打開一堆亂碼,先用binwalk查看文件信息,發現其中包含多個png文件,再用foremost分離文件
11.打開分離后得到的png圖片,掃描其中的二維碼,拿到了flag
flag{m1Sc_oxO2_Fly}