常见的文件头识别和修复

文件头是位于文件开头的一段承担一定任务的数据

以下是常见的文件头:
在这里插入图片描述

相应的还有文件结尾
zip文件的结尾以一串504B0506开始
rar文件以C43D7B00400700结尾
JPG文件结尾为FFD9
PNG文件 结尾为000049454E44AE426082
Gif文件结尾为3B

其中PNG文件头还包含IHDR信息
在这里插入图片描述
其中最常见的就是修改高度

在这里插入图片描述
在这里插入图片描述

将00FF改为01FF

在这里插入图片描述

在这里插入图片描述

一个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

参考
zip文件头
一个普通的压缩包wp