MISC-隐写的总结

  1. 1、LSB隐写
    1. 简介:
    2. 用法:
  • 2、盲水印
  • 3、双图
  • 4、画图
  • 这周做了几个隐写题,感觉非常有趣。看了许多大佬的博客,最终才完整的做完这些隐写题。为了加深自己的理解,还是有必要总结一下的。毕竟学以致用,学以会用!!

    解隐写题的一般思路:

    • 首先看看图片是不是图种
    • 然后使用binwalker分析图片,如果是有文件合成,分离
    • 有时信息藏在备注中
    • 工具stegsolve
    • 编程分析

    1、LSB隐写

    简介:

    LSB(英文 least significant bit)即最低有效位。LSB加密是信息隐藏中最基本的方法。由于人们识别声音或图片的能力有限,因此我们稍微改动信息的某一位是不会影响我们识别声音或图片的。

    用法:

    通常来说LSB加密用在无损压缩的数据格式文件中,例如图像中的png格式、bmp格式和音频的wav格式。由于这三种格式未对源数据进行有损压缩,因此可以将信息隐藏起来。

    对于图像文件LSB的特征很明显,通常将信息隐藏在某一个颜色通道中。我们可以查看图片的每个像素点的RGB值,或者使用stegsolve工具进行查看。 stegsolve工具下载

    需要下载Java配置Java环境或者只下载Java,用Java打开stegsolve.jar文件

    由于图像是由像素构成的,每个像素有8位(对于BMP图像来说),通常最后一位的变化,通过肉眼是无法察觉的

    例1:

    下载题目文件并解压后,发现一个名叫taqing.png的图片。因为题目是“LSB”,所以这张图片应该进行了LSB隐写。

    用stegsolve打开taqing.png,并选择Analyse的Data Extract

    在这里插入图片描述

    把Red、Green、Blue的最低有效位0那一列打对勾(原因),并点击Preview,在最上面会发现flag了!!

    在这里插入图片描述

    flag是flag{have a good time!}

    例2:

    下载题目文件并解压后,发现一个名叫LSBencode.png的图片。因为题目是“LSB2”,所以这张图片也应该进行了LSB隐写。

    用stegsolve打开LSBencode.png,并选择Analyse的Data Extract

    在这里插入图片描述

    把Red、Green、Blue的最低有效位0那一列打对勾(原因),并点击Preview,在最上面会发现flag了!!

    在这里插入图片描述

    2、盲水印

    由题目可知,此题为盲水印,所以使用bwm脚本(python2)另一个脚本decode脚本。

    bwm脚本 decode脚本

    并且这两个不完全一样,用其中一个加上水印,用另一个解不开,所以还是都存起来吧。

    运行脚本发现没有cv2这个模块,使用下面的命令安装cv2
    pip install opencv-python

    接下来:

    如果是bwm脚本运行

    python bwm.py decode 1.png 2.png flag.png

    其中1.png和2.png是解压所得图片,flag.png是所分离出来的水印。

    如果是decode脚本运行

    python decode.py --original 1.png --image 2.png --result flag.png

    其中1.png和2.png是解压所得图片,flag.png是所分离出来的水印。

    另外推荐一个加盲水印和分离盲水印的神器:WaterMarkH下载

    例:

    下载题目文件并解压后,发现两张图片:text.jpg和text2.jpg。因为题目是“盲水印”,所以这道题应该是找盲水印。

    在这里插入图片描述

    把文件后缀改成.png格式,结果我试了两个脚本都没有找到盲水印,我以为是因为python版本的问题,然而并不是。。。所以这道题应该是使用WaterMarkH加的盲水印,所以直接使用这个工具就找到了盲水印

    在这里插入图片描述

    3、双图

    例:

    下载题目文件,解压出来就是双图first.png和second.png,先用stegslove打开first.png保存反色图片为1.bmp

    在这里插入图片描述

    然后打开保存的反色图片1.bmp,选择stegslove的image combiner结合second.png,保存结合的图片为solved.bmp

    在这里插入图片描述

    然后打开保存的结合图片solved.bmp,再用stegslove对二维码变化一下,得到三张二维码

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    扫描结果是DES 6XaMMbM7
    和一长串字符,很显然是des加密,秘钥是6XaMMbM7,然后对长串字符进行DES解密,即可得到flag!!

    4、画图

    例:

    在这里插入图片描述

    根据题目可知,此题是画图
    在这里插入图片描述

    用winhex打开发现图片后面有很多的数据

    在这里插入图片描述

    复制下来保存为1.txt文件用notepad++转换一下编码

    在这里插入图片描述
    在这里插入图片描述
    这就是坐标了,这样来画图吧 转换成gnuplot能识别的格式

    在这里插入图片描述

    在这里插入图片描述
    保存1.txt文件,下载gnuplot画图工具,把1.txt文件和画图工具放入同一路径,打开gnuplot.exe,输入命令plot "1.txt"进行画图

    在这里插入图片描述
    扫描二维码,即可得到flag!!

    隐写题总结之后,果然让我对此更加理解了,开心!!!


    转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 qwzf1024@qq.com

    ×

    喜欢就点赞,疼爱就打赏