参考:http://bobao.360.cn/ctf/detail/203.html
图片中隐藏压缩包
这种方法大概是zip中最常见的,多用于在一张图片中隐藏一个压缩包,这种方法的原理是:以jpg格式的图片为例,一个完整的 JPG 文件由 FF D8 开头,FF D9结尾,图片浏览器会忽略 FF D9 以后的内容,因此可以在 JPG 文件中加入其他文件。
如:
➜ ~/Sites/wwwroot hexdump /Users/caiqiqi/Desktop/Gilani_And_I.jpg |head -5 [0:18:31]
0000000 ff d8 ff e1 01 67 45 78 69 66 00 00 49 49 2a 00
0000010 08 00 00 00 0e 00 10 01 02 00 08 00 00 00 b6 00
0000020 00 00 00 01 03 00 01 00 00 00 30 0c 00 00 03 a4
0000030 03 00 01 00 00 00 00 00 00 00 09 92 03 00 01 00
0000040 00 00 10 00 00 00 0f 01 02 00 06 00 00 00 be 00
➜ ~/Sites/wwwroot hexdump /Users/caiqiqi/Desktop/Gilani_And_I.jpg |tail -3 [0:18:40]
0017c40 7e 49 78 18 70 c0 be b2 cb 6a 79 36 79 88 90 da
0017c50 15 53 ff d9
0017c54
伪加密
Zip伪加密与zip的文件格式有关(zip的格式详解请翻到本文的最后0x07部分),zip中有一位是标记文件是否加密的,如果更改一个未加密zip包的加密标记位,那么在打开压缩包时就会提示该文件是加密的。
对于伪加密有以下几种方法:
- 在Mac OS及部分Linux(如Kali)系统中,可以直接打开伪加密的zip压缩包
- 使用检测伪加密的ZipCenOp.jar,解密后如果能成功打开zip包,则是伪加密,否则说明思路错误
- 使用16进制编辑器改回加密标记位