ctfshow-misc-1-56-图片隐写详解

1.解压得到。

2.拖进010,发现是png

PNG:文件头格式为89 50 4E 47 0D 0A 1A 0A,文件尾格式为49 45 4E 44 AE 42 60 82。

所以将txt文件改成png,即可。

 3.

一个bpg图片,要下一个软件打开:Honeyview · 免费图像查看器 · 下载和功能说明

下载后打开这图片就行。

Honeyview

一款图片查看器,文件出现改动的时候可以实时变化,并且宽容性极强,没看见过他打不开的图片

4.

1.txt拖101发现是png文件,2.txt发现是jpg文件,3.txt发现是bmp文件,4.txt是gif文件,5.txt是tif文件,6.txt是webp文件

要学到一些知识

1.BMP(位图):
	文件头标识:BM(即 0x42, 0x4D)

2.GIF(图形交换格式):
	文件头标识:GIF87a 或 GIF89a(即 0x47, 0x49, 0x46, 0x38, 0x37, 0x61 或 0x47, 0x49, 0x46, 0x38, 0x39, 0x61)

3.JPEG(联合照片专家组):
	文件头标识:FF D8(即 0xFF, 0xD8)

4.PNG(便携式网络图形):
	文件头标识:89 50 4E 47 0D 0A 1A 0A(即 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A)

5.TIFF(标记图像文件格式):
	文件头标识(多种):42 49 4D 00、49 49 2A 00、4D 4D 00 2A(即 0x42, 0x49, 0x4D, 0x00 或 0x49, 0x49, 0x2A, 0x00 或 0x4D, 0x4D, 0x00, 0x2A)

6.WebP(Web 图片格式):
	文件头标识(多种):52 49 46 46、57 45 42 50(即 0x52, 0x49, 0x46, 0x46 或 0x57, 0x45, 0x42, 0x50)

7.ICO(图标文件格式):
	文件头标识:00 00 01 00(即 0x00, 0x00, 0x01, 0x00)

8.PCX(PC 绘图文件格式):
	文件头标识:0A(即 0x0A)

9.PSD(Adobe Photoshop 文件格式):
	文件头标识:38 42 50 53(即 0x38, 0x42, 0x50, 0x53)

杂项基础知识-部分_png文件尾-CSDN博客

然后有就是刚刚下的软件,太牛了,直接打开。无敌好用

5.

拖进101,然后看到文件尾,看到flag。

6.

ctrl+f搜索ctfshow,找到flag。

7.

跟上面一样的啊。

8.

题目提示要

这要下载foremost,然后创造一个foremost-file存储分离后的文件(其实好像可以不要创造,指定一个新命名的文件夹会自动创造)。

CTF中的神兵利刃-foremost工具之文件分离_foremost分离文件-CSDN博客

分离后,一定要root权限打开那文件夹,不然图片看不了!一定要记得。

9.

这题提示flag在题目块,直接秒。

10.

这里要用binwalk,kali自带。

binwalk -e file --run-as=root

很强啊,比foremost好用。

从这里知道,一般可以用binwalk看图片藏了什么文件(其同时会分离,可以查看分离文件有没有藏flag),若藏了图片就用foremost分离看看。

11.

此题又要用一个软件,Tweakpng是一个用于 Windows 平台的低级 PNG 图像文件操作工具。它允许用户查看和编辑 PNG 文件的元数据,适用于需要深入了解和修改 PNG 文件内部结构的用户,下面这篇文章有,并且还有其它工具。

一、图片隐写[Stegsolve、binwalk、010editor、WaterMark、BlindWaterMark、文件头尾、tweakpng、APNG Disassembler]-CSDN博客

然后删除第一个idat。

打开即可misc11。

12.

这个idta太多了,又要下载一个软件,看下文。工具 PNG Debugger 的安装使用_pngdebugger-CSDN博客

PNG Debugger 可以进行读取 PNG 图片的数据,检测各数据块中的 CRC 是否正确,在 Windows 下使用。
CRC 码是 循环冗余校验码 的简称,是 png 图片中一种的数据, 是目前使用非常广泛的数据校验方式,不仅能校验传递过来的数据正确性,还能筛查出哪一位出现了错误。
比如可用于判断 png 图片的宽和高是否正确。

起始位置就是debug文绝对路径。

看完上面的步骤我们可以将misc12放到test文件里(我是这样,模范上面的文章)

pngdebugger ../test/misc12.png     //‘../前有空格’

工具 PNG Debugger 的安装使用_pngdebugger-CSDN博客

这里跑出来都是对的,一个个删,直到出现flag。(最后删了8个)

13.

提示flag再图片末尾,但是没找到,所以看看wp,发现有两种解法。

第一种观察到了ctfshow,但是都隔着一个字符,所以只有隔着字符读就好了。

第二个就是脚本读嘛。

a="631A74B96685738668AA6F4B77B07B216114655336A5655433346578612534DD38EF66AB35103195381F628237BA6545347C3254647E373A64E465F136FA66F5341E3107321D665438F1333239E9616C7D"
r = ''
s=bytes.fromhex(a)
for i in range(0,len(s),2):
        r+=chr(s[i])
print(r)
#fromhex函数把一串16进制字符,每两位转换成16进制的对象

14.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值