CTFshow刷题日记-MISC-图片篇(上)基础操作和信息附加
Posted Ocean:)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CTFshow刷题日记-MISC-图片篇(上)基础操作和信息附加相关的知识,希望对你有一定的参考价值。
ctfshow 图片篇引语
- 大部分题目仅涉及单一知识点,但可能有多种解法;
- 找到flag并不困难,关键是了解每一题背后的原理;
- 藏在哪?为什么可以这样藏?请多考虑这两个问题;
misc脑图-misc之神丁神给的
基础操作
misc1-签到题
打开图片就是flag
misc2-改后缀
下载之后是一段文本,打开发现png的文件头,将txt后缀改成png,查看图片,获得flag
misc3-bpg格式
下载我就直接打开了,我还寻思就这?,原来是我的图片查看器帮了忙,bpg文件,推荐蜂蜜浏览器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ChXAbQGw-1631199055893)(F:_笔记\\mdpic\\1.CTFshow刷题日记-MISC-图片篇(上)] - 副本\\image-20210909170530982.png)
misc4-改后缀
下载发现是六个文档
然后每个文档打开都是看似乱码的六种不同格式的图片,只要根据其文件头将其改为正确的格式即可
从1-6分别是png,jpg,bmp,gif,tif,webp
每张图都是flag的一部分
信息附加
misc5-7-010直接搜
010打开,搜ctfshow找到flag
misc8-分离文件
提示:flag在图片文件中图片文件中。
给的是png,根据提示猜测可能是改了高度,或者要分离文件,该高度无果,在kali中使用分离命令foremost分离图片,成功分离出flag
misc9-010直接搜
提示:flag在图片块里
010打开,搜ctfshow找到flag
misc10-分离文件
提示:flag在图片数据里
使用binwalk -e命令分离文件
原理-引用z.volcano师傅博客
misc11-双IDAT块
提示:flag在另一张图里
IDAT
图像数据块IDAT(image data chunk):它存储实际的数据, 在数据流中可包含多个连续顺序的图像数据块。
IDAT存放着图像真正的数据信息,因此,如果能够了解IDAT的结构,我们就可以很方便的生成PNG图像。
010打开发现有两个IDAT数据块
把第一段IDAT删除,另存为图片内容就是flag
misc12-多IDAT块
提示:flag在另一张图里
打开发现有十多个IDAT,可以使用tweakpng这个工具边删边保存,发现删除前八个flag就出来了
misc13
试了多种方法没解出来
在010使用正则表达式搜索 c.*t.*f
发现两个有点像flag的字符串
flag格式是ctfshow很明显这是每隔一个字符有一个垃圾字符,python简单处理下
str = "ct¹f…s†hªoKw°{!aeS6¥eT34fxa%4Ý8ïf«52•8b‚1º7E4|2Td~7:2äeñ6úfõ4129T8ñ328é0l}"
flag = ""
for i in range(len(str)):
if (i%2==0):
flag = flag + str[i]
print(flag)
运行得到flag
misc14-手动分离图片
jpg格式的图片
在kali中使用命令却分不出来,使用010
在0x837位置发现另一张jpg图片,从837选择到末尾,右键选择->保存选择
保存生成一个新文件,即为flag
misc15-010一把梭
提示:flag被跳过去了
不知道啥意思但是010一把撸
misc16-binwalk一把梭
misc17-steg
提示:flag在图片数据里
使用zsteg命令发现隐藏的数据
使用命令提取数据
zsteg -E "extradata:0" ./misc17.png > ./png
// 名字随便定义
使用命令去分离
binwalk -e png
misc18-图片属性
提取:flag在标题、作者、照相机和镜头型号里
简单肯定在属性里边
flag分成了三段
misc19-010
提示:flag在主机上的文档名里
010一把梭
两段拼一下就有了
misc20-exiftool工具
提示:flag在评论里
可以使用工具exiftool
但是环境问题是乱码,在linux下查看
如果没有exiftool,可以安装,教程
这flag需要译一下
misc21-转换
提示:flag在序号里
同样使用exiftool命令查看
发现序列号提交不正确,经过十六进制转码发现问题
也就是说吧x和y都要分别进行转换而不是合一起转换,python的hex()
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sao2gnwl-1631199055913)(F:_笔记\\mdpic\\1.CTFshow刷题日记-MISC-图片篇(上)] \\image-20210909214809200.png)
再用ctfshow{}包裹
misc22-缩略图隐写
提示:flag在图片里
缩略图竟然和图片不一样,学到了
这是magicexif
利用exiftool工具导出图片
exiftool.exe -ThumbnailImage -b misc22.jpg > 1.jpg
misc23-属性转换
提示:flag在时间里
使用exiftool命令查看信息
发现四个时间,将时间转换成时间戳网站https://www.zxgj.cn/g/unix
再用21题的方法,进行hex编码
misc41-抽象
提示:
H4ppy Apr1l F001’s D4y!
愚人节到了,一群笨蛋往南飞,一会儿排成S字,一会儿排成B字。愚人节限定题,下载得到misc41.jpg,用winhex打开,发现是jpg的文件尾,但是文件头对不上,本来想以这个方向为突破点,没得到结果…
后面看了套神的wp才知道,提示中的第二句说的就是我…
第一句提示的F001才是真突破点,这个位置有大量F001,看起来组成了某种形状
我的思路是,把F001出现过的位置中所有十六进制的值单独截取出来,每四位分隔开,把F001替换成0,其他值替换成空格。 最后变成下图的8*125的“图”,其实如果会用CyberChef会更方便,不过我不太习惯。
依稀看出flag:ctfshow{fcbd427caf4a52f1147ab44346cd1cdd}
来自https://blog.csdn.net/weixin_45696568/article/details/115261347
参考链接
以上是关于CTFshow刷题日记-MISC-图片篇(上)基础操作和信息附加的主要内容,如果未能解决你的问题,请参考以下文章