常见的文件头识别和修复
文件头是位于文件开头的一段承担一定任务的数据
以下是常见的文件头: 相应的还有文件结尾 zip文件的结尾以一串504B0506开始 rar文件以C43D7B00400700结尾 JPG文件结尾为FFD9 PNG文件 结尾为000049454E44AE426082 Gif文件结尾为3B
其中PNG文件头还包含IHDR信息 其中最常见的就是修改高度
将00FF改为01FF ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200722154735715.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9sb25nMjIzMzM=,size_16,color_FFFFFF,t_70)
一个zip文件头中的一些信息
50 4B 03 04:这是头文件标记 0A 00:解压文件所需 pkware 版本 00 00:全局方式位标记(有无加密) 00 00:压缩方式 6D A9:最后修改文件时间 FA 50:最后修改文件日期 9A EB F4 D1:CRC-32校验 04 00 00 00:压缩后尺寸 04 00 00 00:未压缩尺寸 08 00:文件名长度 00 00:扩展记录长度 66 6C 61 67 2E 74 78 74 66 6C 61 67 压缩源文件目录区 50 4B 01 02:目录中文件文件头标记 3F 00:压缩使用的 pkware 版本 0A 00:解压文件所需 pkware 版本 00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了) 00 00:压缩方式
rar文件格式
[2018年 网鼎杯CTF 第1场]clip
解压后用winhex或HxD打开,发现有两个png文件 但都没有文件尾,第二个的png文件头也不完整,所以提取出来后手动修复 将这两张图片放ps里拼一下就能得到flag (ps:因为png的文件头和文件尾不完整,所以binwalk里分析不出来,foremost也无法分离)
bugku:一个普通的压缩包
解压flag.rar会提示secret.png文件头损坏 用winhex或者HxD查看 将7A改为74,就能正常解压出png文件(在rar中,74表示后面是个文件) 同样用winhex或者HxD查看png发现是GIF文件 后缀改为gif,接下来就是放stegsolve以及ps分离一下 ps拼一下,扫就有flag ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200729190914256.gif)
by xiaolong
参考 zip文件头 一个普通的压缩包wp
|