这是一个流量分析+图片隐写的综合问题
首先是下载下来是wireshark.pcapng文件,打开之后
追踪TCP流
流1是访问一个网站,查看之后是一个有关于图片隐写加解密的网站
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
继续查看数据流
流5
可以看出探测是否使用了不安全的http方法,最后发现了post方法
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
于是在流6里,post了一张图片
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
同时,继续向后看,在数据流10里,发现请求了另一张图片
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
至此,TCP流就分析差不多了,看看怎么把这些图片搞出来
首先,导出http储存下来。
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
保存到文件夹之后(1(1).png,以及那两个python文件不是)
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
成功看到一张图片fd2f6f3479d1741es.png,打开之后
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
我们之前,在查看TCP流的时候,有两张图片,所以我们要找另外一张,最后可以发现
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
这俩文件打开是里面有PNG提示,通过010editor查看,并且找文件头文件尾修改成两个PNG图片
其中一个就是一把钥匙
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
有两个图片,这个钥匙一看就是用于图片解密的,另外一个是风景,那么尝试解出这个图片信息,使用binwalk
但是提示错误,拿到010editor里看看
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
CRC校验错误,所以图片的长宽高应该是修改过
先详细解释一下png的文件头:
- (固定)八个字节89 50 4E 47 0D 0A 1A 0A为png的文件头
- (固定)四个字节00 00 00 0D(即为十进制的13)代表数据块的长度为13
- (固定)四个字节49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示(IDCH)
- (可变)13位数据块(IHDR)
- 前四个字节代表该图片的宽
- 后四个字节代表该图片的高
- 后五个字节依次为:
Bit depth、ColorType、Compression method、Filter method、Interlace method
- (可变)剩余四字节为该png的CRC检验码,由从IDCH到IHDR的十七位字节进行crc计算得到。
但是到底修改什么,高还是宽
我们使用程序跑一下,代码已添加到附件
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
ok,还原了高,去010editor里修改一下
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
最后得到了一个图片
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
用这里面的key作为密钥去解密另外一张图片
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
就是这个,有点复杂,不知道是什么编码,最后去看了一下常用的CTF编码之后的标志,最后几位是”}“字符base16编码
学逆向论坛 » CTF › DDCTF_2019 _Misc › wireshark
成功!!
|