我正在参加「构思开发 投稿大赛」详情请看:掘金构思开发大赛来了!

引子

关于JPG咱们应该是非常了解了(文件头:FFD8FF 文件尾:FF D9),借用百度百科的资料来说:

JPEG(Joint Photographic Experts Group)是JPEG规范的产品,该规范由世界规范化安排(ISO)制定,是面向接连色调静止图像的一种压缩规范。 [1] JPEG格局是最常用的图像文件格局,后缀名为.jpg或.jpeg

你可曾想到JPG其实也可以藏着需求重要信息呢,接下来我将以CTF比赛中遇到的JPG图片隐写方法,给咱们看看命题的构思

特点隐写

先来一个最简略的,右键特点咱们知道不,往往有的信息就在特点之中,关于这种隐写方法,咱们有一个专门东西EXITFOOL,该东西可以一键列出该图片的一切特点,非常好用

outguess隐写

首先在终端执行指令下载东西

git clone https://github.com/crorvick/outguess

随后输入以下指令进行安装

cd outguess
./configure && make && make install

然后执行指令解密即可

./outguess -k "hahahahahahaha" -r flag.jpg out.txt

steghide

Steghide是一款开源的隐写术软件,它可以让你在一张图片或者音频文件中躲藏你的隐秘信息,并且你不会注意到图片或音频文件发生了任何的改变。并且,你的隐秘文件现已躲藏在了原始图片或音频文件之中了。这是一个指令行软件。因此,你需求学习运用这个东西的指令。你需求经过指令来实现将隐秘文件嵌入至图片或音频文件之中。除此之外,你还需求运用其他的指令来提取你躲藏在图片或音频中的隐秘文件。

基本用法

将secret.txt文件躲藏到text.jpg中:

steghide embed -cf test.jpg -ef secret.txt -p 123456

从text.jpg解出secret.txt:

steghide extract -sf test.jpg -p 123456

f5隐写

东西地址:https://github.com/matthewgao/F5-steganography

有暗码解密

java Extract 1.jpg -p 123456

无暗码解密

java Extract 1.jpg

会生成一个output.txt

至于原理,这里有一篇文章感觉讲的不错

blog.csdn.net/m0_46296905…

SlientEye

强大的媒体加密程序是隐写一个简略易用的跨平台应用程序的规划,在这种情况下,躲藏的信息为图片或声音,它提供了一个很好的接口集成新的隐写算法和过程经过运用插件的暗码。

该东西也是一款时不时会用到的东西,运用方法也很简略,只需求将JPG图片放入东西解码即可

弥补

以上说了几个比较常见的CTF中充溢套路的隐写术,当然也有一些没有提到,比方依据CRC的错报来判别JPG的宽高被修正,导致的数据被躲藏。有爱好的小伙伴可以在评论区弥补。