題目鏈接:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=57
WriteUp: 下載下來是個網絡抓包文件,使用WireShark打開,查看網絡通訊過程,第13號報文為POST,提交數據為
{"path":"fly.rar","appid":"","size":525701,"md5":"e023afa4f6579db5becda8fe7861c2d3","sha":"ecccba7aea1d482684374b22e2e7abad2ba86749","sha3":""}
上傳了fly.rar,知道文件長度和校驗和。
通過Edit-Find Packet查找Rar!(Rar文件頭),Search in Packet bytes,得39號報文,其在163號重新組裝。
通過File-Export Objects-HTTP,第163、289、431、577、729號報文都是通過HTTP傳輸了字節流,保存文件001,002....
用WinHex打開001,呃,文件頭並不是Rar!,估計上傳的時候會有校驗和之類的吧,把Rar!前面0x16C個字節去掉,對其他文件作同樣處理,然后合並為一個文件flag.rar。
flag.rar,7zip直接報錯,有沒有搞錯。用WinRar打開,提示加密文件和文件頭損壞,難道文件有錯誤,校驗了MD5,一樣的,so,到處找密碼,找不到啊!!!
無奈下去翻討論記錄,有人提到偽加密,去Rar官網下文件格式描述(4.0的安裝有包含),先跳過MAIN_HEAD,來到File header,HEAD_FLAGS的定義為0x04為加密文件,將0x17的0x84改為0x80,保存后就可以正確解壓了。
解壓后是一個在屏幕跑蒼蠅的程序Orzzzzzzz,WinHex看到文件尾有個PNG什么的,提取出來,是張二維碼,掃一掃得flag。
