ctfshow 做题 MISC入门 模块 21~30
——
misc21
题目描述: flag在序号里。
同样查看附件图片的 exif 信息。
看到序列号处有一串数字: 686578285826597329
16 进制转字符 得到:hex(X&Ys)
得到了一条提示,对 X、Y 进行 hex ,即十进制转十六进制。
刚刚的 exif 信息里也可以看到 X、Y 的值。
依次对四个值进行进制转换,最终组合得到 flag 。
ctfshow{e8a221498d5c073b4084eb51b1a1686d}
——
——
misc22
题目描述:flag在图片里。
这里是缩略图隐写的方式,叫做thumbnail隐写。
用 Magicexif 打开,可以直接看到缩略图上黄色字体的 flag 。
点击上图中的那个小图标,可以稍微放大,截图再放大用肉眼能够勉强看出来。
得到 flag : ctfshow{dbf7d3f84b0125e833dfd3c80820a129}
看别人的做题,还可以用 exiftool 工具导出缩略图。
exiftool -ThumbnailImage -b misc22.jpg > 1.jpg
——
——
misc23
题目描述: flag在时间里。
用 exiftool 查看。
exiftool misc23.psd
看到 History When 项有好多个时间:
1997/09/22 02:17:02
2055/07/15 12:14:48
2038/05/05 16:50:45
1984/08/03 18:41:46
把这几个时间转换为时间戳。得到:
874865822
2699237688
2156662245
460377706
再进行十进制数字转换为十六进制。
得到:
3425649e
a0e31938
808c0de5
1b70ce6a
最后组合得到 flag :ctfshow{3425649ea0e31938808c0de51b70ce6a}
——
——
misc24
题目描述: flag在图片上面。
下载附件为 bmp 格式的图片,用 010editor 打开图片。
图片大小是900150,即135000个像素,
而图片本身去掉文件头后应该是675000/3=225000个像素
所以还图片还少了一些像素,而 250900 = 225000 ,所以是少了的像素是在图片的高度上。
借助 010editor 模板 BMP.bt 找到图片高所在的位置。
所以把原本的 96 00 00 00 改为 FA 00 00 00 ,保存,打开图片,即可看到 flag 。
ctfshow{dd7d8bc9e5e873eb7da3fa51d92ca4b7}
——
——
misc25
题目描述: flag在图片下面。
下载图片为 png 格式的图片。
在图片下面,也是修改图片高度的问题。
png 图片的长宽只需记住这两个位置即可,左边为宽、右边为高。
所以把右边的高改大即可,我这里把高 00 00 00 96 改为 00 00 01 96
保存,打开图片,得到 flag 。
ctfshow{494f611cc5842dd597f460874ce38f57}
——
——
misc26
题目描述: flag还是在图片下面,但到底有多下面?。
下载附件为 jpg 格式的附件。
在图片下面,还是改图片高度,我把 00 改为 05 ,已经绰绰有余了,可以不用这么大。
看到一个不完全的 flag :
cftshow{94aef1+True height(hex) of this picture+087a7ccf2e28e742efd704c}
需要得到图片实际高度的 16 进制。
改了高度能看到要求 flag ,但是不知道实际高度,
这里要用脚本爆破:
import os
import binascii
import struct
misc = open("misc26.png", "rb").read()
for i in range(1000000):
data = misc[12:20] + struct.pack('>i', i) + misc[24:29]
crc32 = binascii.crc32(data) & 0xffffffff
if crc32 == 0xEC9CCBC6:
print(i)
print("hex:" + hex(i)) # 转为16进制
脚本来源:https://blog.csdn.net/xczzhf/article/details/115353783
得到 flag 缺的部分:25e
得到 flag :ctfshow{94aef125e087a7ccf2e28e742efd704c}
——
——
misc27
题目描述:flag在图片下面
下载附件为 jpg 格式的图片。应该还是改图片高度的题目。
用 010editor 打开图片,找到图片高度的位置。
可以先右键属性查看图片详细详细,看到目前图片高为 150 ,十六进制为 96 ,则在 010editor 搜索 96 的位置,修改 00 96 为 01 96
再次打开图片,得到 flag 。
ctfshow{5cc4f19eb01705b99bf41492430a1a14}
——
——
misc28
题目描述:flag在图片下面。
下载附件为 gif 格式的图片。
这里用 010editor 的模板 GIF.bt 查看图片的数据,找到图片高度一栏进行修改。
修改之后,看到图片其实已经显示了 flag ,但是直接打开还是原来的样子,高度没变。
可以用 StegSolve 打开,可以看到 flag 。
ctfshow{59c8bc525426166b1c893fe12a387fd7}
——
——
misc29
题目描述:flag在图片下面。
下载附件为 gif 图,和前一题的区别是,这张图片的每一帧都不一样,所以需要修改每一帧图片的高度,共有 10 帧 。
模板打开,找到每一帧图片高度的位置进行修改。
修改为之后,用 StegSlove 打开,点击 Analyse 选择 Frame Browser 就可以查看每一帧的图片了。
点击到第八帧的时候,看到 flag 。
ctfshow{03ce5be6d60a4b3c7465ab9410801440}
——
——
misc30
题目描述:正确的宽度是950。
010editor 打开,BMP.bt 模板查看,找到图片宽度的位置,修改为正确的宽度950
再打开图片,即得到 flag 。
ctfshow{6db8536da312f6aeb42da2f45b5f213c}