压缩包隐写通俗解释
简单说:把线索、flag、解压密码藏在压缩包(zip/rar)里面,或者把压缩包塞进图片、文件里;看着普通压缩包,解压/查看细节才能拿到信息。
一、拼接隐写(图种)
原理
图片读到结束标记就停止加载,后面再加一段zip压缩包,打开只能看见图,看不到压缩包内容。
JPG结尾 FF D9,PNG结尾 IEND;在结束标识后面拼接压缩包数据。
怎么拿数据
工具扫出压缩包位置,切割出来另存为zip,解压就能拿到文件和flag。
二、ZIP伪加密(最常见)
原理
压缩包本身没设置解压密码,只是改了文件头部一个标记字节。
解压软件识别标记位,误以为加了密码不让解压,属于假加密。
字节为 00 00 = 未加密;改成 09 00 就会误判加密。
解决
十六进制编辑器打开压缩包,把加密标识位改回 00 00,保存后直接解压,不用密码。
三、注释隐写
原理
压缩包自带注释栏,制作者直接把flag、解压密码、密文写在注释里,不特意查看就发现不了。
查看
WinRAR打开压缩包,查看注释;命令行也能读取注释内容。
四、文件内部隐写
1. 压缩包里藏多个文件,空白txt、图片内嵌LSB数据;
2. 多个压缩包套娃(多层压缩),一层一层解压才能拿到最终flag;
3. 文件名隐写:文件名改成base64、十六进制编码,解码出答案。
五、真加密(密码爆破)
压缩包真实设置密码,没有伪标记;需要字典爆破、密码提示猜密码,解开压缩包获取内容。
六、目录结构隐写
文件夹名、多级目录名称拼接编码字符;或者空白文件、大小异常文件藏数据,需要导出文件十六进制查看。
简易做题顺序
1. binwalk扫描,看是否拼接其他文件;
2. 查看压缩包注释;
3. 打不开就检查是不是伪加密,修复头部字节;
4. 解压后看文件名、文件内容;
5. 真加密就尝试爆破密码。