【Loading 35/56】ctfshow_WriteUp | MISC入门

misc1

题目

分析

打开图片就是 flag,可以直接拿文字识别工具识别一下提交。

misc2

题目

分析

看到 NG 开头的内容猜测是 png 文件被修改了文件类型,保险起见用 010 Editor 先看看十六进制文件:


png 头:


png 尾:


更改文件后缀名为 png,打开图片得到 flag。

misc3

题目

分析

查了一下 bpg 是一种压缩图片格式,下载查看器 bpg-0.9.8-win64,把题目图片放到路径下,打开 cmd 输入 bpgview.exe misc3.bpg 即可看到 flag。

参考

BPG Image format

misc4

题目

分析

查看文件头后发现这些文件原本是各种图片。依次更改文件后缀名如下:


连接图片内容得到 flag。

参考

网上下载的JPG图片,文件头RIFF,打开时提示格式不对怎么办?-狂人山庄的回答-知乎

misc5

题目

分析

010 Editor 查看十六进制文件,flag 在文件末尾。

misc6

题目

分析

010 Editor 查看十六进制文件,在第 13 个数据块(APP13)中找到 flag。

misc7

题目

flag在图片文件信息中。

分析

flag 在图像压缩数据(scanData)中:

参考

JPG-JPEG(JFIF)文件解码—文件结构-catshit322-CSDN

misc8

题目

flag在图片文件中图片文件中。

分析

010 Editor 打开文件,出现报错:


查看文件发现在文件中间还存在一个 png 头:


猜测存在隐藏文件。因为懒得开 binwalk 所以直接把第二个 png 头前面的数据删掉了,保存得到有 flag 的图片。

misc9

题目

flag在图片块里。

分析

查看十六进制文件,flag 在文本信息数据块(tEXt)中

参考

PNG文件结构分析 ---Png解析-DoubleLi-博客园

misc10

题目

flag在图片数据里。

分析

binwalk 发现存在隐藏文件:


分离文件:


在 10E5 文件中找到 flag。

misc11

题目

flag在另一张图里。

分析

文件分离没有分离出有用的东西。用 010 Editor 打开发现图片的第二个数据块大小明显大于第一个:


一般来说 IDAT 只有最后一块的大小会小于之前的数据块,这里出现反常。


删除第一个数据块后保存,出现 flag。

参考

IDAT block小结-brightendavid-CSDN

misc12

题目

flag在另一张图里。

分析

图片数据库长度出现明显分段:


删去第一段(chunk[1]-chunk[8]):


保存图片得到 flag。

misc13

题目

flag位置在图片末尾。

分析

根据提示,从文件末尾往前发现四串疑似 flag 的字符串:


按 flag 格式的规律隔位提取字符,尝试后发现第三段是真正的 flag。

misc14

题目

flag在那张图里。

分析

binwalk 发现隐藏图片:


分离文件,从第三个 FFD8 开始,把之前的值全部删掉,得到 flag。

misc15

题目

flag被跳过去了。

分析

flag 在十六进制文件中。

misc16

题目

flag在图片数据里。

分析

依旧是有多节数据块:


然而在排列组合删除部分数据块后发现事情并不简单。


于是上 binwalk:


在分离出的文件中,名为 DD4 的文件里存在 flag。

misc17

题目

flag在图片数据里。

分析

优美的数据块长度,binwalk 也没分离出有用的隐藏文件。(悬疑的小曲

没辙了,WP 解法,了解到一个用于检测 PNG 和 BMP 中隐藏数据的工具 zsteg。在 linux 里进行安装:


检查隐藏数据:


发现存在隐藏数据,对其进行提取:


得到一个 emmmm……


再进 binwalk 进行文件分离,得到一个 png 格式的文件,打开得到 flag。

参考

ctfshow misc入门 misc17 wp-YueHat-CSDN
项目概览-zsteg-GitCode

misc18

题目

flag在标题、作者、照相机和镜头型号里。

分析

根据提示,flag 在图片属性里

misc19

题目

flag在主机上的文档名里。

分析

看了一下 TIFF 文件的格式,在 316 的位置是 HostComputer,于是找到十六进制文件的第 308-332 字节位置找到前半段 flag,在第 420-435 字节位置找到后半段。

参考

TIFF图像文件格式解析-Endless Ferry-CSDN

misc20

题目

flag在评论里。

分析

根据提示,在注释部分发现一串怪登西:


转换为 UTF-8 编码,出现中文:


根据读音转为字母得到 flag。

misc21

题目

flag在序号里。

分析

WP 解法。

在应用程序标记 1(APP1)的目录项中找到一串序列号:


按十六进制格式转为文本得到:


意思大概是把所有 X 和 Y 转为十六进制。在文件目录(IFD)中找到四个数值,将他们的无符号整型值分别从十进制转为十六进制,依次拼接得到 flag 内容。

misc22

题目

flag在图片里。

分析

缩略图下边有一块黄色的区域,但打开图片又消失了。看了大佬的 WP 了解到是 thumbnail 隐写。
下载 MagicEXIF,打开图片看到缩略图里的 flag。

参考

MagicEXIF旗舰版分享-『精品软件区』-吾爱破解-LCG-LSG|安卓破解|病毒分析|www.52pojie.cn

misc23

题目

flag在时间里。

分析

WP 解法。了解到一款用于读写和处理图像、音视频和PDF等文件元数据的软件 exiftool,下载后在 cmd 执行 exiftool.exe misc23.psd 查看题目文件的元数据:


在 History When 条目发现四条来自过去和未来的时间,将四条时间分别转换为以秒为单位的时间戳后依次转换为十六进制数并拼接,得到 flag。

参考

ExifTool完全入门指南
ExifTool by Phil Harvey
在线工具 - 你的工具箱

misc41

题目

(本题为Misc入门图片篇和愚人节比赛特别联动题)
H4ppy Apr1l F001's D4y!
愚人节到了,一群笨蛋往南飞,一会儿排成S字,一会儿排成B字。

分析

显然图片是打不开的,看了下文件缺个文件头,补上 FF D8 FF E0 00 后的图片:


WP 解法才知道这题和题目给的 “F001” 有关,在十六进制文件中搜索 “F001”,得到的标蓝字节排列成的字符串即为 flag。

misc24

题目

flag在图片上面。

分析

根据提示,猜测图片高度被更改过,尝试更改图片高度:

得到 flag。

参考

BMP文件格式详解(BMP file format)-mjiansun-CSDN

misc25

题目

flag在图片下面。

分析

与上一题同理,我们更改图片高度:

得到 flag。

misc26

题目

flag还是在图片下面,但到底有多下面?。

分析

同理,更改图片高度,得到部分 flag:


看来还需要图片的真实高度,这里根据 CRC 进行一次爆破:

拼接得到完整 flag。

misc27

题目

flag在图片下面

分析

更改图片高度:

得到 flag。

misc28

题目

flag在图片下面。

分析

gif 图片高度需要改的地方有两处,分别位于 GIF 数据流(GIF Data Stream)的逻辑屏幕标识符(Logical Screen Descriptor)


和数据(Data)中的图像标识符(Image Descriptor)


更改逻辑屏幕标识符更改的是图片打开后显示在屏幕上的大小,更改图像标识符则更改的是图片本身实际显示的范围。

将高度增加后得到 flag。

参考

GIF图片的文件储存结构和动画原理-wxzking-CSDN

misc29

题目

flag在图片下面。

分析

与上一题同理,将逻辑屏幕标识符中的高度和 10 帧中的图像标识符高度分别拉高,查看 GIF,在第 8 帧出现 flag。


和我一样瞎的朋友可以把其他 9 帧的数据删掉,或者放进 ps 里看单帧。

misc30

题目

正确的宽度是950。

分析

如题,更改 bit map info header 的宽:

misc31

题目

高度是正确的,但正确的宽度是多少呢。

分析

已知图片高度为 150,图片实际数据大小为 487202,每个像素点由 3 个字节表示。


根据公式 \(图片实际数据大小 = 图片高度 × 图片宽度 × 3\) 计算出图片宽度约为 1082.671,抹除小数点后的数据得到图片高度为 1082,更改后得到 flag。

misc32

题目

高度是正确的,但正确的宽度是多少呢

分析

爆破:


宽度改为 1044,得到 flag。

misc33

题目

出题人丧心病狂,把高度也改了

分析

爆破:


高 142,宽 978。

misc34

题目

出题人狗急跳墙,把IHDR块的CRC也改了,但我们知道正确宽度肯定大于900

分析

010 Editor 打开发现没有对 CRC 的报错,说明这张图片的 CRC 被更改为对应当前图片大小的值。

png 图片的宽度被更改的话,图片将无法正常显示,因此先尝试更改宽度直至图片显示内容,建议写代码爆破。

爆破得到宽度为 1123,更改后直接显示 flag,即宽度未被修改。

【未完成】misc35

题目

出题人负隅顽抗,但我们知道正确宽度肯定大于900

posted @ 2024-02-21 18:13  Guanz  阅读(34)  评论(0编辑  收藏  举报