ctfshow 做题 MISC入门 模块 21~30

Posted Goodric

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ctfshow 做题 MISC入门 模块 21~30相关的知识,希望对你有一定的参考价值。

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个像素
所以还图片还少了一些像素,而 250
900 = 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}

以上是关于ctfshow 做题 MISC入门 模块 21~30的主要内容,如果未能解决你的问题,请参考以下文章

ctfshow 做题 MISC入门 模块

ctfshow 做题 MISC入门 模块 11-20

ctfshow 做题 MISC入门 模块 41-50

ctfshow 做题 MISC入门 模块 41-50

ctfshow-Misc入门

ctfshow 信息搜集模块做题 web1~20