。知识
1.1 判断文件类型
在虚拟机中用file+文件名
常见文件头:128个常见的文件头信息对照表
常见文件头,文件尾总结:常见文件头,文件尾总结
1.2 文件头缺少
在010、winhex
等软件中通过添加、删除对文件头进行修改
1.3 文件分离
用foremost、binwalk、dd
等对文件进行分离
binwalk -B misc.png//查看
binwalk -e misc.png --run-as=root//分离
foremost -i misc.png//分离
//binwalk搞不定就用foremost
//dd用于精确分离
dd if=misc14.jpg of=1.jpeg skip=2103 bs=1
1.4 文件合并
在Linux下用cat +合并文件名 > 输出文件
同时要检验MD5的值是否正确
:md5sum + 文件名
。参考
。例题
misc2
开头
发现是PNG
的格式直接改后缀png
即可得到flag。
misc4
考点:
通过文件头(主要)和文件尾判断文件类型
重点:
和webp文件
相同的文件头多,很难判断,但webp开头就有提示WEBP
下载下来有6个txt文件 分别是6个文件 可以通过文件头 来判断文件的类型:
六张图片拼接起来就是flag:ctfshow{4314e2b15ad9a960e7d9d8fc2ff902da}
misc8
考点:
分离文件
重点:
binwalk分离不出来,再使用foremost尝试
flag在图片文件中图片文件中。
binwalk -B misc.png//查看
binwalk -e misc.png --run-as=root//分离
foremost -i misc.png//分离
//binwalk搞不定就用foremost
用binwalk看看
发现里面有两张png图片,使用foremost分离
在默认的outfile文件夹中会存有分离出来的两张照片
其中右边就是正确的flag
misc14
flag在那张图里。
放到binwalk里看一下,发现里面有隐藏的文件
然后使用dd命令提取出其中的图片(if是输入文件名称,of是输出文件名称,skip是偏移量,就是你要提取的文件的最前面的数字,bs=1)
dd if=misc14.jpg of=1.jpeg skip=2103 bs=1
misc17
考点:
zsteg
找到隐藏信息,并配合binwalk分离
判断文件类型
flag在图片数据里。
用binwalk看了一下图片,发现有一个压缩包,但是打不开
这里需要使用zsteg
分析,发现有隐藏信息
zsteg misc17.png --all
所以我们先使用zsteg
命令把隐藏信息分离出来,再用binwalk
分离得到flag
zsteg -e extradata:0 misc17.png > a.txt
binwalk -e a.txt
得到文件后,发现文件头有png
,判断需将文件后缀改为.png
得到flag