2021-11-28 Misc 杂项略览 一 图片隐写1 直接隐写T.O.CTF

Posted Menou16

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-11-28 Misc 杂项略览 一 图片隐写1 直接隐写T.O.CTF相关的知识,希望对你有一定的参考价值。

引语

Misc,杂项,一般指无法以CTF五大方向分类的题目类型,而在安全从业方面又需要用到的知识,是一项安全题目大杂烩。

Misc题目一般分为这几种类型:

1、签到题,一般在比赛第一题出现,属于体验类的题目,不注重考察知识,更注重激起兴趣,进入状态。

2、考察在安全领域常用而又不属于五大方向分类的知识。这类题目出现的频率最高,如流量包分析、压缩包分析、图片/音频/视频隐写、内存硬盘交互等等。

3、脑洞题。一般以编码、解码为主,通过对出题者提供的文本解码,猜测解码的算法、顺序等,得出明文flag。属于经验加创造性的题目,无法可依,一般不会特别偏门奇异,否则出题人会被暴打。

4、考察解题者知识深度和广度。

5、考察快速学习能力。出一道大多数解题者都没有见过的题目,要求解题者通过搜索引擎或者题目提供的信息快速学习解题规则和方法,从而解出题目。(牢记!搜索引擎是你最好的伙伴!)

隐写术

1、直接附加

大部分文件有其独特的文件结构,常见的图片格式如.png, .jpg等等都是由一系列特定的数据块组成。

例如,.png文件由IHDR(文件头数据块)、PLTE(调色板数据块)、IDAT(图像数据块)、IEND(图像结束数据)这四个标准数据块 和一些辅助数据块组成,每一块数据块由Length、Chunk Type Code(数据块类型码)、Chunk Data(数据块数据)、CRC(循环冗余校验码)四部分组成。

PNG文件总是由固定的字节(89 50 4E 47 0D 0A 1A 0A )开始,我们可以根据这一段字节判断是PNG文件。而图像结束的IEND用来标记PNG文件已经结束,IEND数据块的长度总是00 00 00 00,数据标识总是49 45 4E 44,因此CRC固定是AE 42 60 82.因此,PNG文件一般会以(00 00 00 00 49 45 4E 44 AE 42 60 82)作为结尾。这之后的内容会被大部分图片查看软件忽略,因此在IEND后随意修改数据并不会导致图片查看内容的改变,因此达到隐写的目的。

演示一下,随意下载一个名为sheep.png的png文件:

 

(woc,这个PNG文件也太大了,看来JPG这种有损压缩还是有其必要性) 

是只羊,没错............

用windows自带的图片浏览器打开。然后关掉。拖入010 Editor中分析,清楚看到PNG文件头:

然后动用搜索功能,输入PNG文件尾IEND的代码:(00 00 00 00 49 45 4E 44 AE 42 60 82)

 

 找到了,可以看到,这个图片在IEND后没有藏任何东西,但是CTF比赛时的隐写大多就出在这。

写入HELLO WORLD!HAHH 可见红色字提示无法到达,保存后再次打开图片,发现没有不同 

这就是隐写。有时候文件背后不单指藏一个简单的字符串,有可能是一个文件,因此认识必要的文件标识方式就很有必要:

JPEG(jpg)头:FF D8 FF   尾:FF D9

PNG(png)头:89 50 4E 47 尾: AE 42 60 82

GIF(gif)头:47 49 46 38 尾:  00 3B 

以上是关于2021-11-28 Misc 杂项略览 一 图片隐写1 直接隐写T.O.CTF的主要内容,如果未能解决你的问题,请参考以下文章

[GXYCTF2019] MISC杂项题

杂项·入门

CTF杂项题解题思路

Bugku—杂项-隐写解题思路

从0开始学杂项 第四期:隐写分析 GIF 图片隐写

杂项_猜