CTF隐写总结

CTF隐写总结

一:LSB隐写

LSB概念
LSB,英文 least significant bit,中文义最低有效位。
对于一个给定的数据串,其最低有效位就是拥有最小单位数值的那一位.

关于LSB隐写的详细介绍 LSB详细介绍
关于LSB隐写的详细算法 LSB详细算法
关于LSB隐写的总结博客 LSB隐写总结
隐写技巧:PNG文件中的LSB隐写

CTF隐写总结_第1张图片
打开以后是一张这样的图片
CTF隐写总结_第2张图片
题目已经提醒这道题属于LSB隐写,那么就发动查百度、谷歌大法吧。
经过查找,会发现需要用这个神器来处理这种题目。
在这里插入图片描述
但打开这个软件需要有java,所以还得下载,最好也配置一下环境变量。
java详细配置
配置好之后那,用这种方式打开Stegsolve.jar
CTF隐写总结_第3张图片
CTF隐写总结_第4张图片
将图片打开后,通过下方的按钮切换不同的通道。结果你就会发现一个很不一样的东西。
CTF隐写总结_第5张图片
红色通道前六张都没有太大的变化,但是问题出现在第七张。
在这里插入图片描述
可以明显的看到,右上方隐藏了一些东西。
然后,通过观察,发现,green通道和blue通道也是如此。
那接下来就进行数据提取在这里插入图片描述
因为发现三种颜色都是在0通道时发生了不同,所以勾选三个颜色的最低位。
CTF隐写总结_第6张图片
结果flag就出来咯!!
题是很简单,但关键是要理解为何如此做,做题不难,难在理解为何这样做。
大牛的博客——介绍为何勾选最低位的0
CTF隐写总结_第7张图片
CTF隐写总结_第8张图片
这道题的解法与上一道也是一样的。
二:双图
CTF隐写总结_第9张图片
打开后是两张图片,而且两张图片一样。???这时就该敏感了,因为大多两张图片相同的题型都是盲水印,另外一种就是双图,但题目已经提示了是双图,所以就安装双图的做法去解决这道题。
在这里插入图片描述
CTF隐写总结_第10张图片
(两张图片大小不一样,第二张一定隐藏了一些信息)
用Stegsolve打开第一张图
CTF隐写总结_第11张图片
再使用Image combiner( 图像结合),与第二张结合,看看会发生什么变化。(我觉得这里就是两张图片进行对比,前面可以看到第二张图片比第一张图片大了30多KB,所以那多出的30多KB的内容会出现在结合后的图片中
CTF隐写总结_第12张图片
结果在变换通道中找到一个二维码,扫吧。。。结果什么也扫不出了。。。
CTF隐写总结_第13张图片
将这张图片保存下来,再用Stegsolve打开,变换通道,可以看到三张不同的二维码。
CTF隐写总结_第14张图片CTF隐写总结_第15张图片
CTF隐写总结_第16张图片
下面就是扫码工作了,( 推荐支付宝扫码,微信我半天都没扫出来,还以为错了。。。)扫过之后,有提示,有密文,解密就能得出flag了
三:盲水印

盲水印介绍:
盲水印隐蔽性强,给水印数据进行编码过后不易被破解出来,而且不会破坏图片美观,且又能很好的保护图片版权。

详细介绍盲水印的一些博客:
介绍盲水印
盲水印原理
CTF隐写总结_第17张图片
打开之后是两张相同的图片
在这里插入图片描述
CTF隐写总结_第18张图片
发动查百度、谷歌大法,破解盲水印,需要脚本或工具。

BlindWaterMark脚本
但要注意这个是py2的脚本,如果下载的是py3就会出现语法错误。(这里卡了我一晚上)

修改方法是:py3自带了一个脚本2to3.py,可以将python2的程序自动转为python3的形式。但是不熟悉python语法,到后面还是会出现错误。(所以最好先不要用这个脚本去解题,待熟悉python语言后再用,否则就算知道哪里错了,也不会改)大牛的博客介绍如何修改

这里介绍另一个脚本
blind-watermark
这个脚本可以选择下载py3的脚本,这样就可以减少一些修改麻烦。

操作语法
python decode.py --original ori.png --image res.png --result extract.png
注意: 两张图片分辨率要相同,否则会报错。

在下载脚本的目录里打开cmd,输入命令。
CTF隐写总结_第19张图片
出现一个图片,但是打开却。。。
在这里插入图片描述
黑黑的。。。啥也看不见。。。
CTF隐写总结_第20张图片
既然脚本这条路走不通,那只好偷懒了,下载工具吧。
数字盲水印&隐形水印制作工具WaterMarkH V1.2下载地址
CTF隐写总结_第21张图片
两张图片相同,一定是图片大的那一张隐藏有信息,所以试试第二张。
CTF隐写总结_第22张图片
flag出来了(感悟:有时如果是脚本对图片进行盲水印的话,那只能用脚本才能解开。但如果用工具添加水印的话,也只能用工具解开)

四:画图
CTF隐写总结_第23张图片
在这里插入图片描述
打开以后是一个很可爱的女孩子
CTF隐写总结_第24张图片
用Winhex打开图片,发现有很大的不同,上面全是乱码,但是到了下面全是数字,估计藏有猫腻。
CTF隐写总结_第25张图片
ctrl+A全选,然后再将这一堆数字给复制出来
CTF隐写总结_第26张图片
再用Notepad++打开
在这里插入图片描述
提示的是画图,在坐标系里画图需要坐标,现在给的一堆数字是十六进制的数,在Notepad++中转换一下,看是否能出现坐标。
CTF隐写总结_第27张图片
结果确实出现了坐标
CTF隐写总结_第28张图片
那下面就实现画图吧,怎么画。。。我还是去找百度、谷歌吧

经过查找需要这个画图工具
在这里插入图片描述
但是得注意一点的是,坐标必须满足这个工具的格式。必须改为这种格式的坐标
CTF隐写总结_第29张图片
改成这样很简单,只需要点击替换,把( 和)都替换掉,把逗号改为空格就了。
CTF隐写总结_第30张图片
然后将改好的文档保存,放入gnuplot的bin目录里,打开bin目录gnuplot.exe,输入命令(我理解的是要执行的文件必须和这应用程序放在同一个目录,否则无法执行,会报错).
CTF隐写总结_第31张图片CTF隐写总结_第32张图片
输入命令

plot “文件名”

CTF隐写总结_第33张图片
用支付宝一扫就了
CTF隐写总结_第34张图片

你可能感兴趣的:(CTF隐写总结)