当前位置:   article > 正文

ctfshow学习记录-misc入门(图片篇-信息附加5-14)_misc图片找flag

misc图片找flag


misc5

解答:png图片没有直接给flag,用010editor打开看一下,发现flag被附加了后面。
在这里插入图片描述


misc6

解答:jpg图片,用010editor查看获取flag。
在这里插入图片描述


misc7

解答:与misc6一样,jpg图片,用010editor查看获取flag。


misc8

解答:可以看到png图片的结尾在中间出现了一次,然后接续png的开头。所以拼接了两个png。
在这里插入图片描述
用foremost分离一下,拆分出了2个图片,其中一个是flag。
在这里插入图片描述


misc9

解答:png图片,用010editor查看获取flag。
在这里插入图片描述


misc10

解答:用binwalk分离一下,获取到了flag。
在这里插入图片描述在这里插入图片描述


misc11

解答:用010Editor打开,有两块IDAT块,
这里我用tweakPNG查看(010也可以),可以看到两个IDAT的长度,第一个比第二个要小,说明第一块是有问题的。
在这里插入图片描述

IDAT(image data chunk)存储实际的数据,数据流中可以包含多个连续顺序的图像数据快,但是只有当前一个块充满的时候,才会继续下一个块。通常来说,块大小对应于编码器的缓冲区大小。(每个IDAT块也可以只包含一个数据字节,甚至0字节的PNG数据流,都是有效的,但非常浪费空间。)

所以如果有两个块,前一个的大小必然要大于后一个,这里明显不对。

删除第一个查看一下,后面部分的IDAT块是flag内容。
在这里插入图片描述

附:tweakpng(附下载地址)

这里我也找了一个图片,用010可以看到,这个图的IDAT的大小就是连续顺序的数据块,前面的IDAT都是相同大小,只有最后一个是不同的。
在这里插入图片描述


misc12

解答:还是删除IDAT快。

用tweakPNG可以看到这个图的IDAT数据大小不一,那就一个一个的测试,逐一删除尝试。

删除了几个IDAT块后,大概7-8个,图片出现了flag。
在这里插入图片描述


misc13

解答:用010Editor查看,发现了很多类似这种ctfshow中间夹杂字符的flag。
在这里插入图片描述
对这些flag逐一测试,找到最后的正确答案。附上脚本:

r = ''
a="""63 1A 74 B9 66 85 73 86 68 AA 6F 4B 77 B0 7B 21 61 14 65 53 36 A5 65 54 33 34 65 78 61 25 34 DD 38 EF 66 AB 35 10 31 95 38 1F 62 82 37 BA 65 45 34 7C 32 54 64 7E 37 3A 64 E4 65 F1 36 FA 66 F5 34 1E 31 07 32 1D 66 54 38 F1 33 32 39 E9 61 6C 7D"""
b=a.split(' ')
for i in range(0,len(b),2):
    try:
        r+=str(bytes.fromhex(b[i]),encoding="utf-8")
    except:
        pass
print(r)
#ctfshow{ae6e3ea48f518b7e42d7de6f412f839a}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

misc14

解答:binwalk查看一下,发现存在两张图片。
JPEG有两种格式即JFIF和EXIF。我们把后面的JFIF的图片提取一下。
在这里插入图片描述
在010Editor中找到JFIF的头部。
在这里插入图片描述
然后把FFD8前面部分全部删除即可获取到flag图片。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/472133
推荐阅读
相关标签
  

闽ICP备14008679号