ctf-show misc入门1-23加41

misc1-4

直接拖入010editor,搜索ctf即可获得flag

misc5

将图片拖入hex,在最下面发现flag

f00a5eead5a34a48a03d092a4e61d27f.png

 misc6

拖入hex,搜索ctf获得flag

2970cd49693f46638905d4e8a4f4e949.png

 misc7

拖入hex,搜索ctf,获得flag

200ca634b5074c56867b8ffa45a8972e.png

misc8

运用foremost分离,获得flag

8ba508f68c974807b6b52cdae4a3a8b3.png

 f60b8d25bc7f405c900f756426f69dc1.png

 misc9

拖入hex,搜索flag获得flag

fc112d0b461d417f986cee33d1e644c0.png

 misc10

在这个题目中需要运用到图片题目中最常用的工具binwalk,使用方法如下

# binwalk -e 使用默认的预定义配置文件extract.conf提取文件
binwalk -e misc10.png

39413a254c00494c9c974507021b7da8.png

分解后在文件夹中第一个文件,打开后发现flag 67d25413a29741f4805aa89cf8723e03.png

 588a13a2afc640e0aaf4bafb5edc9c53.png

misc11

在binwark和foremost都不成功后,发现为png文件,此时需要我们学习一个新的软件,tweakpng,运用tweakpng检查,发现有一个IDTA数据没有满,选择将第二个idta删除,获得flag IDAT 块只有当上一个块充满时,才会继续一个新的块。

b507accb631541329e2ecd9b2de078c0.png

 

507853430e3a41d2b4a280d120e1eca8.png

删除数据块,保存后,查看保存后的图片获得flag

 misc12

 

本题目灵感来自于上一个题目,运用tweakpng发现图片宽高正常,但是IDAT大小不是逐块铺满

d23e8be27e844284ba4758ea5b480c0d.png

 按【F7】键,打开图片预览窗口,逐个删除IDAT,删除至长度为263的IDAT,即可看到flag

misc13

本题中显示位flag在末尾

e2e16849a12146e4be4fb2c34e37f4f1.png

所以直接拖入hex发现在末尾处有这样的字样

 3ec9e8a99fe44d118fe54e44b1a9509f.png

发现规律为

c•t¹f•s•hªoKw°{!a•eS6¥eT446xc%4Ý8ïf«7•3•9•b•7ºeEb|2Td~1:däeñ6úeõ4•1•2•fT8ñ329éal}

相当于隔一个字符出现一个flag字母,编写脚本

此题目有两种解法,第一种是直接复制符号,然后用字符串分割即可,但是有一个误区,就是直接复制文本,python不识别,应该是编码问题,所以这里采用第二种方法,直接抓取十六进制,抓取十六进制的方法如下 在010中直接copy as hex text即可

 4c206227b5084b2fac44e482196824f2.png

str='F9 63 1A 74 B9 66 85 73 86 68 AA 6F 4B 77 B0 7B
21 61 14 65 53 36 A5 65 54 34 34 36 78 63 25 34
DD 38 EF 66 AB 37 10 33 95 39 1F 62 82 37 BA 65
45 62 7C 32 54 64 7E 31 3A 64 E4 65 F1 36 FA 65
F5 34 1E 31 07 32 1D 66 54 38 F1 33 32 39 E9 61
6C 7D'
new_str=str.replace(" ",'')
new_str=new_str.replace("\n","")
r = ''
# fromhex函数把一串16进制字符,每两位转换成16进制的对象
s=bytes.fromhex(new_str)
for i in range(0,len(s),2):
        r+=chr(s[i])
print(r)

misc14

首先,看题目可以发现图片中可能有两张图片625504e8b0b04d7cb0df5b762dcb8463.png

运用binwalk分析图片,如图:(其实刚开始考虑用foremost的,但是分离出来没东西,其实这里应该是文件压缩和数据拼接问题)

 bd3f7435f996455d96245182b5ef230f.png

分析后发现图片中还有一个文件,这里借用binwalk中的dd命令分解图片如下

dd if=misc14.jpg of=1.jpeg skip=2103 bs=1

其中if=misc14.jpg是输入文件,of=1.jpeg是输出文件,skip是指定从输入文件开头跳过2103个块后再开始复制,bs设置每次读写块的大小为1字节 。

 b5b9d45f4c1443e8997d823e5b3e16d9.png

此时,打开1.jpeg为flag

misc16 33dcf932cda14b589c83accaa2475840.png

 首先考虑用TweakPNG删除数据块的方法,试过之后不行,然后运用binwalk分离,在DDA中找到flag

112570009c024998b3262d88704299ea.png

43c691459fd1461e97bd7ee24a014125.png

方法二

本方法参考misc17中的方法 zsteg查看文件,发现有东西 

 0b082962e03140b8bb0bd3fc3063481a.png

运用zsteg进行分离

zsteg -e  extradata:0 misc16.png > 1.txt

 binwalk分离

binwalk -e 1.txt

获取到flag,查看1DF084ff6f5228b4851b8d06e239882361b.png

63aff6b2b64a4585a5964c8b11f6c832.png

misc17 

 3c848fc971894ce186e5b5fba5f3e8b7.png

尝试了很多个方法binwalk分离,放入hex查看,都没有flag

通过wp看到了原来这个是lsb

1b3449d3e85c4036aca603874e1b6a72.png

 86cb8b84bd51448b8f258466937d0b58.png

zsteg分析以后,感觉应该是标记的地方显示了有数据,所以运用zsteg进行分离出来,两个图片进行比较 

 

zsteg -e  extradata:0 misc17.png > 1.txt #将文件中的内容分离出来

分离后尚未发现flag,再次运用binwalk才发现flagc2b807047aa04786988311664a4814c3.png

打开1F1文件后,发现flag 9b8c33d16b0f4f5f9d58cfafbae4e9c1.png

 misc18

misc18-21主要考察图片属性以及etif信息

5e16f94d0de5463b9f5637533a5ef7b4.png

通过提示,查看图片属性,注意应该用windows查看属性,获取flag。

63a4f872fd1641dc804524f779d5729e.png

 48e2a9de9bd342f88a380534ed7a16b3.png

misc19 93a5aa6f72b945c7bc262c987cc599c3.png

在百度中随便搜索EXIF信息查看即可 etif信息查看器中查看文件详细信息

EXIF信息查看器

 390c925c27d846df93d59193a882687b.png

misc20

781a956e96a140cfbf8751675832aa28.png

同样通过etif查看器可以查看文件中的评论 

c1c3156f3a154a5e9bab5c162ea67667.png

ctfshow{c97964b1aecf06e1d79c21ddad593e42}

misc21

 f404bc9727794bcc942cc187ce1a6706.png

这个题感觉突然间还是转换不过来思路的

发现flag在序号中,直接用exif查看器进行查看。

 374d96bed8f4427cb5a21fb612f20b96.png

本来以为这两个直接拼接获得flag,结果不正确,看了别人的wp发现是16进制,用进制转换器转换,获得提示

16进制转换,16进制转换文本字符串,在线16进制转换 | 在线工具

 5eebd5e3c1c14ef589350083c63a44e2.png

根据提示,是将XY坐标进行十六进制转换获取flag

这里推荐运用进制转换器

CTF在线工具-ASCII与进制转换|任意进制转换|ASCII、2进制、8进制、10进制、16进制

 618b9d98028c4b2eb5385cf69e2fadc1.png

全部转换后拼接,获得flag 03c73d9ebb184825acdddf79f0cb146b.png

misc22 3bf7368d2d3c45e3aa85b05abd00db46.png

两种解题思路,第一,运用新工具magicexif可查看缩略图,发现flag 0de9e9fa7f3d4741b59bcaf3b8349388.png

第二种方法可以直接提取缩略图 ExifTool by Phil Harvey 

exiftool -ThumbnailImage -b misc22.jpg > 1.jpg

此时提取出来的缩略图仍然不是很清晰,需要手工判断7182c0a4224447bc901cf7ef90e96ceb.png

flag

ctfshow{dbf7d3f84b0125e833dfd3c80820a129}

 misc23cb76e8686c81407e9c006a6e6dec74a4.png

解压后为psd文件,尝试使用exit工具,发现无法使用,应该是psd无法检测的原因,本题中使用到了之前提到的工具exiftool,如下图 7f0ab680d3d64d0c8f543fe6cba98fb9.png

如图history action中,我们看到了提示ctfshow{}, UnixTimestamp, DECtoHEX, getflag,发现首先第一个提示UnixTimestamp时间戳,第二个提示DECtoHEX十进制转换十六进制,最后获得flag

运用提示中,先将时间转换为时间戳,然后在转为16进制,如下

时间戳

进制转换

 

1997:09:22 02:17:02+08:00, 2055:07:15 12:14:48+08:00, 2038:05:05 16:50:45+08:00, 1984:08:03 18:41:46+08:00
3425649e
a0e31938
808c0de5
1b70ce6a

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值