IDF實驗室-抓到一隻蒼蠅
感覺這道題對我已經有難度了
一、原題
報告首長!發現一隻蒼蠅。。
在哪?
here!
臥槽?!好大一坨蒼蠅。。
提取碼:oe6w
PS:flag寫錯了,太麻煩也懶得改了,格式還是wctf{…},大家明白就好,不要在意這些細節。。
二、writeup
首先下載所給的檔案misc_fly.pcapng,是一個抓包軟體抓取的資料包,解題流程如下:
1.用wireshark分析資料包
開啟資料包,發現是一堆TCP的包,先不理會底層的資料,只關心應用層。
應用層的協議只有HTTP,過濾出HTTP的包進一步分析:
POST了一段這樣的JSON:
{
"path" :"fly.rar",
"appid":"",
"size":525701,
"md5":"e023afa4f6579db5becda8fe7861c2d3",
"sha":"ecccba7aea1d482684374b22e2e7abad2ba86749",
"sha3":""
}
目標url為:
http://set2.mail.qq.com/cgi-bin/uploadunite?func=CreateFile&&inputf=json&outputf=json&&sid=x5O8ZuWvSp9yXFgM
這應該是一個上傳檔案的操作,檔名為fly.rar
525701
。 進一步分析以驗證猜想,過濾出全部的POST資料包:
http.request.method == "POST"
其中倒數第二個包的內容是:
至此已經可以確定:
資料包的內容:一封帶附件的郵件
發件人:81101652@qq.com
收件人:[email protected].net
附件:fly.rar
附件大小:525701 Bytes
接下來尋找附件資料在哪裡。
2.尋找附件資料
第一個請求向伺服器POST附件資訊,緊接著就應該是上傳,結合資料包推斷第2~6個,共5個數據包應為附件資料。
5個數據包中的Media Type域
131436
131436
131436
131436
1777
合計527521
,而前面附件資訊裡已知附件大小為525701
,相差不多,多出來的部分應該是頭部的資訊之類。
3.還原附件資料
觀察5個包Media Type域
的內容,前面很大一部分內容是相同的,那麼這一部分是通訊時所需的頭部的內容,不是附件本身的內容,通過計算將多餘的資料去除。
已知:
附件被分成5個部分
5個子部分合計大小為527521
附件原大小為525701
求:
每個子部分頭部多餘的資料
容易求出,頭部多餘的部分:
527521−5257015=364Bytes
將5個數據包的Media Type域
分別匯出為二進位制檔案:
然後使用dd
命令分別將其前364個位元組去除:
dd if=1 bs=1 skip=364 of=1.1
dd if=2 bs=1 skip=364 of=2.1
dd if=3 bs=1 skip=364 of=3.1
dd if=4 bs=1 skip=364 of=4.1
dd if=5 bs=1 skip=364 of=5.1
之後合併檔案:
cat 1.1 2.1 3.1 4.1 5.1 > fly.rar
校驗md5值:
md5sum fly.rar
結果:
e023afa4f6579db5becda8fe7861c2d3
而第一步中得到的資料包中POST資料為:
{
"path":"fly.rar",
"appid":"",
"size":525701,
"md5":"e023afa4f6579db5becda8fe7861c2d3",
"sha":"ecccba7aea1d482684374b22e2e7abad2ba86749",
"sha3":""
}
二者一致。同理再校驗sha值,同樣一致。
至此,由網路包還原出了附件資料fly.rar
:
4.處理附件資料
本以為到這裡已經大功告成,解壓fly.rar
即可。
結果還有後招……竟然解壓失敗……
分析原因,
fly.rar
檔案通過了md5和sha校驗,肯定是沒問題的,自己的思路到這裡斷了,怎麼想也沒結果。
無奈搜答案,得出結果——偽加密。
即這是一個未加密過的rar
檔案,但是卻將加密位置為了1,具體可參考
[rar檔案格式描述]
只需將檔案開頭處0x74
位後面的0x84
位置改為0x80
即可
修改後順利解壓,得到flag.txt
。
5.處理flag.txt
這回答案該有了吧,開啟flag.txt
檢視,這又是一個二進位制檔案。
無語。
繼續二進位制開啟。
發現這是個win32
的程式,Linux
跑不了,轉到windows檢視
。
是個滿螢幕跑蒼蠅的程式……還挺逼真的……
還是二進位制開啟分析。
檔案內搜PNG
、Rar
、JFIF
,檔案尾有一個PNG
,提取出來,是個二維碼:
掃之,得到結果
flag{m1Sc_oxO2_Fly}
三、flag
wctf{m1Sc_oxO2_Fly}
四、知識點
這題夠繞的……
雖然參考了部分答案,但做完感覺很好。
相關推薦
IDF實驗室-抓到一隻蒼蠅
感覺這道題對我已經有難度了 一、原題 報告首長!發現一隻蒼蠅。。 在哪? here! 臥槽?!好大一坨蒼蠅。。 提取碼:oe6w PS:flag寫錯了,太麻煩也懶得改了,格式還是wctf{…},大家明白就好,不要在意這些細節。。
bugku——抓住一隻蒼蠅
今天做了bugku的這道題,這才是九曲山路十八彎啊,自己解崩潰了,看了大佬的題解才做出來。 這裡記錄一下。 下載下來pcang檔案使用wireshark開啟 在分組位元組流中搜索一下flag{沒什麼東西,在搜一下flag. 發現了flag.txt 檔案->
一隻小蜜蜂(hdoj 2044,動態規劃遞推)
Problem Description 有一隻經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請程式設計計算蜜蜂從蜂房a爬到蜂房b的可能路線數。 其中,蜂房的結構如下所示。 Input 輸入資料的第一行是一個整數N,表示測試例項的個數,然後是N 行資料,每行包含兩個整
【讀後感】殺死一隻知更鳥--哈珀 李
故事開頭,就交代了一堆背景,渲染了一種存在已久的種族關係和種族特性,而人們好像就受著這種“背景”的桎梏,總是帶著有色眼鏡看人。背景、做禮拜、聖誕節等等這些都是一種存在已久的儀式,還有就是對白人對黑人的偏見,同樣存在著。 幾個戲劇性的事件: 偷偷摸到怪人拉德利的房子; 阿迪克斯為黑
下載一隻貓的圖片(其中500和600可以替換成其他的數字)
import urllib.requestreponse = urllib.request.urlopen('http://placekitten.com/g/500/600')cat_img = reponse.read()with open('E:\圖片\cat_500_600.jpg','wb') as
HDU2044 一隻小蜜蜂...【基礎DP】
一隻小蜜蜂... Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 97776 &nb
HDOJ_2044_大二寫_一隻小蜜蜂...
AC程式碼: //2044 #include <iostream> #include <cstdio> using namespace std; int main(void) { freopen("in.txt","r",stdin); int N; s
一隻程式設計菜鳥對程式設計的思考
引言 程式設計,是一門實踐科學,意味著你學習程式設計的最好方式就是上手敲程式碼,但這意味著我們能因此輕視理論的學習嗎? 入門程式設計 上各大交流社群,提問該如何入門程式設計,五花八門的答案蜂擁而來。 但是總結一下,莫不就是一下幾種:  
李雪瑩和魏子迪合作畫了一隻兔子
簡單少女心 import turtle turtle.speed(1) turtle.screensize(600,800,'red'and 'pink') turtle.color('yellow') turtle.pensize(10) turtle.circle(100) turtle.up()
15個猴子圍城一圈選大王,依次1-7迴圈報數,報到7的猴子會被淘汰,直到最後一隻猴子成為大王,問:哪隻猴子會最終成為大王!
方法1: public class Monkey { public static void main(String[] args) { // TODO Auto-generated
一隻退役狗最後的想法
退役了這麼久了,一直想寫一篇部落格寫一寫退役了之後才明白的一些東西。今天填一下坑吧…… 以下皆為我一家之言,肯定不會適合每一個人,但都是本人真心想說的。 比賽: 1、如果你考試前很多舉動與以往不同,比如說特別的想所謂攢人品,說明你應該是十分緊張或者十分不自信,儘快意識到儘快調整。
一隻蝦和cmake的初次相遇
用於Ubuntu下用gedit寫程式碼,不使用IDE 原始思路 用gedit編輯好程式碼 g++編譯 執行 例項 新建HelloWorld.cpp檔案,鍵入下面簡單的程式碼片 #include <iostrea
如何用純 CSS 創作一隻徘徊的果凍怪獸
效果預覽 線上演示 按下右側的“點選預覽”按鈕可以在當前頁面預覽,點選連結可以全屏預覽。 https://codepen.io/comehope/pen/VdOKQG 可互動視訊 此視訊是可以互動的,你可以隨時暫停視訊,編輯視訊中的程式碼。 請用 chrome, safari, edg
根據一隻猿前輩的TPLINK和海康威視漏掃工具改進的IPscanner成果展示(20170314 更新)
年底事比較多,但還是抽出時間學習研究了一下一隻猿前輩的TPLINK和海康威視漏掃工具,並做了改進(增加IP->區域資訊顯示,根據關鍵字分類、過濾資訊,HIK的ddns和camname資訊蒐集,IPCam的批量登入顯示畫面等)。多執行緒掃IP總是卡
一隻小蜜蜂... HDU - 2044
有一隻經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請程式設計計算蜜蜂從蜂房a爬到蜂房b的可能路線數。 其中,蜂房的結構如下所示。 Input 輸入資料的第一行是一個整數N,表示測試例項的個數,然後是N 行資料,每行包含兩個整數a和b(0<a<b&l
一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。
題目描述 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。 /* 思路:遞迴,斐波那契數列 最後一步只能跳1級或兩級, 若跳1級則最後一步之前走了number-1級, 若跳2級則最後一步之前走了number-2級, 所以有
如何用純 CSS 和 D3 創作一隻扭動的蠕蟲
效果預覽 線上演示 按下右側的“點選預覽”按鈕可以在當前頁面預覽,點選連結可以全屏預覽。 https://codepen.io/comehope/pen/QBQJMg 可互動視訊 此視訊是可以互動的,你可以隨時暫停視訊,編輯視訊中的程式碼。 請用 chrome, safari, edge 開啟
一隻萌新OIer的自我介紹
看有很多人的blog首頁都有一些介紹,於是我也想寫一篇>_<. 本人是一個在ZJ的初二學生,一隻比較菜的萌新OIer. 習慣使用的語言為C++,小學用的是Pascal,現在已經忘光了. QQ 2153902322,手機號什麼的就不公開了,雖然公開了也沒人在意. 愛好不
如何用純 CSS 創作一隻玉免
效果預覽 線上演示 按下右側的“點選預覽”按鈕可以在當前頁面預覽,點選連結可以全屏預覽。 https://codepen.io/comehope/pen/yqrNJm 可互動視訊 此視訊是可以互動的,你可以隨時暫停視訊,編輯視訊中的程式碼。 請用 chrome,
如何用純 CSS 創作一隻憤怒小鳥中的綠豬
效果預覽 線上演示 按下右側的“點選預覽”按鈕可以在當前頁面預覽,點選連結可以全屏預覽。 https://codepen.io/comehope/pen/VBGWqX 可互動視訊 此視訊是可以互動的,你可以隨時暫停視訊,編輯視訊中的程式碼。 請用 chrome,