常见的文件头识别和修复
文件头是位于文件开头的一段承担一定任务的数据
以下是常见的文件头:
相应的还有文件结尾
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:压缩方式
[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
1 条评论
真好呢