misc1-4
直接拖入010editor,搜索ctf即可获得flag
misc5
将图片拖入hex,在最下面发现flag
misc6
拖入hex,搜索ctf获得flag
misc7
拖入hex,搜索ctf,获得flag
misc8
运用foremost分离,获得flag
misc9
拖入hex,搜索flag获得flag
misc10
在这个题目中需要运用到图片题目中最常用的工具binwalk,使用方法如下
# binwalk -e 使用默认的预定义配置文件extract.conf提取文件
binwalk -e misc10.png
分解后在文件夹中第一个文件,打开后发现flag
misc11
在binwark和foremost都不成功后,发现为png文件,此时需要我们学习一个新的软件,tweakpng,运用tweakpng检查,发现有一个IDTA数据没有满,选择将第二个idta删除,获得flag IDAT 块只有当上一个块充满时,才会继续一个新的块。
删除数据块,保存后,查看保存后的图片获得flag
misc12
本题目灵感来自于上一个题目,运用tweakpng发现图片宽高正常,但是IDAT大小不是逐块铺满
按【F7】键,打开图片预览窗口,逐个删除IDAT,删除至长度为263的IDAT,即可看到flag
misc13
本题中显示位flag在末尾
所以直接拖入hex发现在末尾处有这样的字样
发现规律为
c•t¹f•s•hªoKw°{!a•eS6¥eT446xc%4Ý8ïf«7•3•9•b•7ºeEb|2Td~1:däeñ6úeõ4•1•2•fT8ñ329éal}
相当于隔一个字符出现一个flag字母,编写脚本
此题目有两种解法,第一种是直接复制符号,然后用字符串分割即可,但是有一个误区,就是直接复制文本,python不识别,应该是编码问题,所以这里采用第二种方法,直接抓取十六进制,抓取十六进制的方法如下 在010中直接copy as hex text即可
str='F9 63 1A 74 B9 66 85 73 86 68 AA 6F 4B 77 B0 7B
21 61 14 65 53 36 A5 65 54 34 34 36 78 63 25 34
DD 38 EF 66 AB 37 10 33 95 39 1F 62 82 37 BA 65
45 62 7C 32 54 64 7E 31 3A 64 E4 65 F1 36 FA 65
F5 34 1E 31 07 32 1D 66 54 38 F1 33 32 39 E9 61
6C 7D'
new_str=str.replace(" ",'')
new_str=new_str.replace("\n","")
r = ''
# fromhex函数把一串16进制字符,每两位转换成16进制的对象
s=bytes.fromhex(new_str)
for i in range(0,len(s),2):
r+=chr(s[i])
print(r)
misc14
首先,看题目可以发现图片中可能有两张图片
运用binwalk分析图片,如图:(其实刚开始考虑用foremost的,但是分离出来没东西,其实这里应该是文件压缩和数据拼接问题)
分析后发现图片中还有一个文件,这里借用binwalk中的dd命令分解图片如下
dd if=misc14.jpg of=1.jpeg skip=2103 bs=1
其中if=misc14.jpg
是输入文件,of=1.jpeg
是输出文件,skip
是指定从输入文件开头跳过2103个块后再开始复制,bs
设置每次读写块的大小为1字节 。
此时,打开1.jpeg为flag
misc16 
首先考虑用TweakPNG删除数据块的方法,试过之后不行,然后运用binwalk分离,在DDA中找到flag
方法二
本方法参考misc17中的方法 zsteg查看文件,发现有东西
运用zsteg进行分离
zsteg -e extradata:0 misc16.png > 1.txt
binwalk分离
binwalk -e 1.txt
获取到flag,查看1DF
misc17
尝试了很多个方法binwalk分离,放入hex查看,都没有flag
通过wp看到了原来这个是lsb
zsteg分析以后,感觉应该是标记的地方显示了有数据,所以运用zsteg进行分离出来,两个图片进行比较
zsteg -e extradata:0 misc17.png > 1.txt #将文件中的内容分离出来
分离后尚未发现flag,再次运用binwalk才发现flag
打开1F1文件后,发现flag
misc18
misc18-21主要考察图片属性以及etif信息
通过提示,查看图片属性,注意应该用windows查看属性,获取flag。
misc19 
在百度中随便搜索EXIF信息查看即可 etif信息查看器中查看文件详细信息
misc20
同样通过etif查看器可以查看文件中的评论
ctfshow{c97964b1aecf06e1d79c21ddad593e42}
misc21
这个题感觉突然间还是转换不过来思路的
发现flag在序号中,直接用exif查看器进行查看。
本来以为这两个直接拼接获得flag,结果不正确,看了别人的wp发现是16进制,用进制转换器转换,获得提示
16进制转换,16进制转换文本字符串,在线16进制转换 | 在线工具
根据提示,是将XY坐标进行十六进制转换获取flag
这里推荐运用进制转换器
CTF在线工具-ASCII与进制转换|任意进制转换|ASCII、2进制、8进制、10进制、16进制
全部转换后拼接,获得flag
misc22 
两种解题思路,第一,运用新工具magicexif可查看缩略图,发现flag
第二种方法可以直接提取缩略图 ExifTool by Phil Harvey
exiftool -ThumbnailImage -b misc22.jpg > 1.jpg
此时提取出来的缩略图仍然不是很清晰,需要手工判断
flag
ctfshow{dbf7d3f84b0125e833dfd3c80820a129}
misc23
解压后为psd文件,尝试使用exit工具,发现无法使用,应该是psd无法检测的原因,本题中使用到了之前提到的工具exiftool,如下图
如图history action中,我们看到了提示ctfshow{}, UnixTimestamp, DECtoHEX, getflag
,发现首先第一个提示UnixTimestamp
时间戳,第二个提示DECtoHEX
十进制转换十六进制,最后获得flag
运用提示中,先将时间转换为时间戳,然后在转为16进制,如下
1997:09:22 02:17:02+08:00, 2055:07:15 12:14:48+08:00, 2038:05:05 16:50:45+08:00, 1984:08:03 18:41:46+08:00
3425649e
a0e31938
808c0de5
1b70ce6a