感觉这道题对我已经有难度了

一、原题

报告首长!发现一只苍蝇。。

在哪?

here!

卧槽?!好大一坨苍蝇。。

文件地址: http://pan.baidu.com/s/1bnGWbqJ

提取码:oe6w

PS:flag写错了,太麻烦也懒得改了,格式还是wctf{…},大家明白就好,不要在意这些细节。。


二、writeup

首先下载所给的文件misc_fly.pcapng,是一个抓包软件抓取的数据包,解题流程如下:

1.用wireshark分析数据包

打开数据包,发现是一堆TCP的包,先不理会底层的数据,只关心应用层。
应用层的协议只有HTTP,过滤出HTTP的包进一步分析:

请求都发往http://sz.mail.ftn.qq.com,猜测是qq邮箱的地址。
同时观察第一个请求

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
收件人:king@woldy.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

\frac{527521-525701}{5}=364 Bytes

将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查看
是个满屏幕跑苍蝇的程序……还挺逼真的……
还是二进制打开分析。
文件内搜PNGRarJFIF,文件尾有一个PNG,提取出来,是个二维码:

扫之,得到结果
flag{m1Sc_oxO2_Fly}


三、flag

wctf{m1Sc_oxO2_Fly}


四、知识点

这题够绕的……
虽然参考了部分答案,但做完感觉很好。

IDF实验室-抓到一只苍蝇相关推荐

  1. IDF 包罗万象 抓到一只苍蝇

    报告首长!发现一只苍蝇. 在哪?here! 卧槽?!好大一坨苍蝇.. 文件地址: http://pan.baidu.com/s/1bnGWbqJ 提取码:oe6w PS:flag写错了,太麻烦也懒得改 ...

  2. ctfIDF实验室捉到一只苍蝇

    抓到一只苍蝇 2015-02-25 12:31:03 作者:admin 295724 报告首长!发现一只苍蝇.. 在哪? here! 卧槽?!好大一坨苍蝇.. 文件地址: http://pan.bai ...

  3. 抓到一只苍蝇 writeup

    题目在 http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=57 下载到的文件是misc_fly.pcapng,使用 ...

  4. Bugku:分析 抓到一只苍蝇

    ​这道题总觉得和苍蝇有关啊 看到很多很多的包,感觉头大. 查了一下网上大佬的wp,又学到了一个指令 先选择文件,导出对象,HTTP. 打开之后就能看到很多具体的文件?比一条一条的协议少多了. 这时候就 ...

  5. 【CTF】BugkuCTF - 分析 - 抓到一只苍蝇

    1.下载文件wireshark打开分析文件 2.过滤出post请求 http.request.method == "POST" 3.分析出是在上传文件. 找到文件参数数据包 数据包 ...

  6. idf实验室--简单编程字符统计

    idf实验室--简单编程字符统计,有需要的朋友可以参考下. 第一眼看这道题很简单,不就是字符统计么,可是题目要求2s内回答,而且每次打开的页面需要统计的字符串内容都会变,这就蛋疼了,于是乎上网学习下如 ...

  7. python爬取基金历史净值_Python学习笔记之抓取某只基金历史净值数据实战案例

    摘要:这篇Python开发技术栏目下的"Python学习笔记之抓取某只基金历史净值数据实战案例",介绍的技术点是"Python学习笔记.Python.历史净值数据.学习笔 ...

  8. IDF-抓到一只苍蝇

    文件地址: http://pan.baidu.com/s/1bnGWbqJ 提取码:oe6w 1.下载文件misc_fly .pcapng,如果安装了Wireshark,则会自动打开该文件,目标web ...

  9. IDF实验室·牛刀小试1-5

    1.被改错的密码 从前有一个熊孩子入侵了一个网站的数据库,找到了管理员密码,手一抖在数据库中修改了一下,现在的密码变成了 cca9cc444e64c8116a30la00559c042b4,那个熊孩子 ...

最新文章

  1. 前端面试题学习和总结
  2. 服务器控件GridView的排序问题
  3. python 控制系统音量_pygame学习笔记(4):声音控制
  4. php的api数据接口书写实例
  5. Nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分...
  6. python高效编程15个利器_15个Python库,让你学习编程更轻松!
  7. 几种 vue的数据交互形式
  8. java船_Java-货船
  9. CSS3 Transform——transform-origin
  10. freetextbox java_FreeTextBox的应用技巧
  11. PSP的Java环境PSPKVM 0.0.7发布
  12. 数据分析----数据清洗和准备
  13. c语言怎么对大数求余,C语言:大数取余
  14. android俄罗斯方块报告,Android 俄罗斯方块
  15. 计算机如何安装cpu风扇,新手装电脑入门二:手把手学习如何安装CPU及散热风扇...
  16. ios wifi 定位_一种IOS设备的集中式Wifi室内定位方法
  17. 首创Domino前后端彻底分离,结合vue、react优美例子
  18. Cisco Packet Tracer 配置交换机与路由器静态路由
  19. 游记-NOI2019(hzy的退役日志)
  20. 2017年中国智慧城市PPP模式发展情况分析

热门文章

  1. 1、 网络营销常见单词缩写
  2. IOI 2005 Riv 河流 题解
  3. abacus 基本操作
  4. 一道对10年间中国行政区划个数进行对比的Python考试题
  5. win7 32与64位系统
  6. 专访 | 外媒看FAST:刘慈欣说的黑暗森林法则成立吗
  7. 什么是polyfill
  8. 米兰2:2战平巴萨 席尔瓦最后关头致命一击
  9. Day305.设计模式七大原则 -Java设计模式
  10. c语言编程文件的加密解密,C语言实现任何文件的加密解密功能