ctfshow misc图片篇wp

一、基础操作

misc1

文件解压缩即可。

misc2

010editor打开是png文件头,将txt后缀修改为png。

misc3

bpg格式,使用Honeyview打开。

misc4

根据文件头将6个txt文件分别修改为png jpg bmp gif tiff riff这6种格式,组合图片内容即可。

二、信息附加

misc5

010打开发现在文件末尾。

misc6

打开发现在文件中间,也可直接查找ctfshow.

misc7

直接查找。

misc8

里面隐藏了一个png文件,分离即可。

misc9

查找即可。

misc10

flag伪装成了一个IDAT块,binwalk -e分离即可。

misc11

两个IDAT块,删除第一个即可。

misc12

 和上一个一样,只是要删除8个IDAT块。

misc13

由提示在文件末尾找到了三段和flag很像的字符串,分别用脚本对其处理,即删去奇数位的字符,即可得到。

misc14

发现图片里面有几张jpg图片,直接手动分离,即可得到。

misc15

010打开就能看见。

misc16

提示flag在图片数据里,用binwalk分离即可。

misc17

先用zsteg查看隐写数据,再使用zsteg提取并保存到txt文件(zsteg -e extradata:0 misc17.png > 1.txt),最后用binwalk分离即可。

misc18

由提示可知直接查看图片属性即可得到。

misc19

由提示可知在主机上的文档名里,010打开,编辑方式换成文本一眼可以看到,不换也有只是不容易看见。

misc20

用exiftool查看图片信息可看见提示说的评论,不过要根据谐音翻译一下。

misc21

exif查看图片信息,将序列号686578285826597329十六进制转字符可得hex(X&Ys),即将X、Y转为十六进制,根据flag的长度,可知四段数字都要转换,之后合在一起即可。

misc22

加个黑白滤镜就能看见flag了

misc23

把history when的几个时间转换为时间戳,再转成十六进制,组合即可得到。

misc41

因为很少碰见这种题目一开始完全没有思路,后面看别人的题解知道是搜索题目中提示的F0 01,其颜色组成的图案即为flag。

三、文件结构

misc24

根据提示改下高度即可。

misc25

同上。

misc26

修改高度后发现是cftshow{94aef1+True height(hex) of this picture+087a7ccf2e28e742efd704c},需要计算出真实高度再转十六进制,因为有校验码,所以使用脚本爆破直接得到。

misc27

还是改高度。

misc28

不停改。

misc29

还是改高度,不过是gif文件,改完后用stegsolve一帧帧找即可。

misc30

改宽度为950。

misc31

需要计算宽度,所有字节减去文件头的53个字节再除450即得到宽度,因为高度是150,每个像素由3个字节表示,改完即可得到。

misc32

和misc26差不多,只是脚本不同,通过校验码爆破出宽度,然后修改即可。

misc33

同上,只是高度宽度都要求。

misc34

因为校验码也改了,所以不能通过它来得出宽和高,但是题目告诉我们宽度大于900,所以可以用脚本生成宽度大于900的各个图片来看哪个对。

misc35

和下面的misc36一样,要先修改高度再爆破,不然看不见,用这个图主要是我忘截图了,不过两道题脚本也基本一样。

misc36

同上,不过要注意在哪里修改高度,一开始改错了一直没做出来。

misc37

放stegsolve里找就行。

misc38

apng图片,放Honeyview里可以看见。

misc39

一开始不了解完全不知道怎么回事,后面看了别人的题解知道这是gif帧数间隔隐写,需要用identify处理,然后会得到一个txt文件,里面有一串 36 和 37 的数字,把 37 换成1,36 换成 0,就会得到长度为 287 的二进制字符串,因为ctfshow的flag长度都是41,所以每7位转1个字符,而不是8位。

misc40

这个也不清楚,后面知道要用一个叫 APNG Disassembler的工具把apng文件分解再导出保存,然后就会发现每张图片都带有一个 txt 文件,删去干扰数据,然后用找的脚本把文本的数字转换为字符即可。

misc42

题目提示好像和长度有关,但是不清楚怎么和长度扯上关系的,就进行搜索,发现有TweakPNG这个工具可以很方便的看png信息,他那个长度应该是和IDAT块有关,对长度进行字符转换就能得到flag。

misc43

一开始修改了一下高度,后面突然发现图片的校验码组合起来刚好就是flag。

misc44

 这个做着做着也是没了头绪,看了别人的题解是可以用PngDebugger把CRC信息统计,去掉IHDR和IEND的信息再将对的转为1,错的转为0,然后二进制转字符就能得到。

misc45

这个题目提示告诉我们要改格式,别的就不知道了,用在线网站一个一个转,然后分析,不过运气很好第一个转的bmp文件就对了,把它用binwalk分离就能得到flag图片,至于原理看别人的题解好像是png和bmp像素点的读取方式不一样,所以bmp就能读取到信息。

misc46

它和47都是我没碰见过的题,看别人的题解才知道这题是用 gif 每一帧的偏移量作为坐标来画图,可以用 identify 命令获取 gif 图片的详细信息得到偏移量,再用脚本绘制生成flag。

misc47

这道给的是png图片,每一帧都有一个 fcTL 块,包含了当前帧的序列号、图像的宽高及水平垂直偏移量,帧播放时长和绘制方式等,要从十六进制中提取出偏移量的坐标,不会做的我只能使用大佬的脚本来写,运行后就能得到flag。

misc48

题目提示我们看 DQT 模块,可以发现要我们数前32个部分FF这个字节的个数,然后再减1,最后转成十六进制就能得到。

misc49

这道题我完全想不到,看别人的题解做法就是统计所有的FF E0-FF EF 块,刚好共有32个,而E后面那一位就是flag中的字符,全部组合起来就是 flag,真是难以想象。

四、颜色通道

misc50

用stegsolve点啊点就行。

misc51

还是不会,看了别人的题解是从像素入手,就是有两个颜色出现次数很多,所以用脚本新建一个图像遍历,如果是那两个像素其中之一就把该坐标对应的像素点变为白色,然后就得到了flag图像。

misc52

这个和上面差不多,不过颜色变成了十种。

misc53

用Stegsolve打开,可以在R0、G0、B0这三个通道看见行排列的隐写痕迹,所以如上进行数据提取即可得到。

misc54

同样用用Stegsolve打开,可以在A0、G0、B0这三个通道看见列排列的隐写痕迹,然后进行数据提取,不过这次的图像层排列是BRG。

misc55

还是LSB的题目,不过这个图片是上下翻转的,需要用脚本让它翻转过来,然后和其他的一样使用Stegsolve,然后会发现提取出一个zip文件,保存解压即可。

misc56

还是一样,不过这个R4、R2、R1、G4、G2、G1通道都有隐写痕迹,需要把这几个全勾选才能得出。

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值