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}
请添加图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Goodric

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值