渗透测试CTF-图片隐写的详细教程2(干货)

简介: 渗透测试CTF-图片隐写的详细教程2(干货)

 上篇文章我们介绍了这7个工具,这里简单的介绍一下。

Binwalk

用来检测图片中是否有隐藏的文件。

Foremost

将图片中的隐藏文件拆分出来。

010Editor

①修改图片的参数来查看隐藏信息。

②查看压缩包是否是伪加密。

Stegsolve.jar

图片隐写查看神器。

OurSecret

1个图片解密的工具

ARCHPR和Ziperello

暴力破解压缩包的工具。

Zipcenop

专门用来破解伪加密的一个工具。

这里再分享几个工具。

Exif

Exif按照JPEG的规格在JPEG中插入一些图像/数字相机的信息数据以及缩略图象,可以通过与JPEG兼容的互联网浏览器/图片浏览器/图像处理等一些软件来查看Exif格式的图像文件,就跟浏览通常的JPEG图像文件一样。

图片右键属性,查看exif或查看详细信息,在相关选项卡中查找flag信息。

image.gif编辑

有的图片会有GPS定位,如图。

image.gif编辑

Stegolve

当两张jpg图片外观、大小、像素都基本相同时,可以考虑进行综合分析,即将两个文件的像素RGB值进行XOR、ADD、SUB等操作,看能否得到有用的信息,StegSolve可以方便的进行这些操作。

使用场景:两张图片信息基本相同

    1. 打开第一张图片,点击analyse->image combiner

    image.gif编辑

    2.在弹出的窗口中点击左右按钮选择处理方式,点击save保存有价值的结果。

    我这里只是随便放了一张图,出题人有时候会给两张基本一样的图片,可以在这里尝试一下,会有意外的收获,比如说打开第二张图片后,点击左右按钮会看到flag或者二维码这样子。

    image.gif编辑

    LSB(最低有效位)

    LSB替换写基本思路是用嵌入的秘密信息取代载体图像的最低比特位,原来的7个高位平面与替代秘密信息的最低为平面组合成含隐藏信息的新图形。

      1. 像素三原色(RGB)
      2. 通过修改像素中最低位的1bit来达到隐藏的效果。
      3. 工具:stegsolve、zsteg、python脚本

      stegsolve.jar 检测LSB隐写

      打开文件>>analyse>>data extract

      image.gif编辑

      2.调整Bit Planes、Bit Order、Bit Plane Order

      image.gif编辑

      Zsteg工具 检测LSB隐写

      使用方式:zsteg xxx.png

      这个工具在kali里面自带有,可以直接使用。

      image.gif编辑

      Wbstego4工具

      解密通过lsb加密的图片

      image.gif编辑

      如图,可以看到,它支持bmp,txt,html和pdf文件。

      如果我们拿到的图片是jpg,png等格式,我们可以直接用画图工具直接将图片格式转换一下。

      这里是要输入密码的,没有的可以跳过

      image.gif编辑

      然后就解密成功,如果打开是乱码的话,我们可以用010editor打开,去找是否有flag。

      TeakPNG

      TweakPNG是一款简单易用的PNG图像浏览工具,它允许查看和修改一些PNG图像文件的元信息存储。

      使用场景:文件头正常却无法打开文件,利用TweakPNG修改CRC。

      举个例子:

      1.当PNG文件头正常但无法打开文件,可能是CRC校验出错,可以尝试通过TweakPNG打开PNG,会弹出校验错误的提示。

      image.gif编辑

      如图,我们可以看到正确的crc应该是ce5dec1d,我们打开010editor去修改一下就可以了。

      image.gif编辑

      Bftools

      Bftools用于解密图片信息

      使用场景:在windows的cmd下,对加密过的图片进行解密

      格式:

      Bftools.exe decode braincopter 图片名字 --output 输出的文件名

      Bftools.exe run 输出的文件名

      bftools.exe decode braincopter 1.png --output 2.png

      bftools.exe run 2.png

      相关文章
      |
      10天前
      |
      Java 测试技术 Python
      《手把手教你》系列基础篇(八十)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-番外篇(详解教程)
      【6月更文挑战第21天】本文介绍了TestNG中测试方法的依赖执行顺序。作者通过一个实际的自动化测试场景展示了如何设计测试用例:依次打开百度、搜索“selenium”、再搜索“selenium+java”。代码示例中,`@Test`注解的`dependsOnMethods`属性用于指定方法间的依赖,确保执行顺序。如果不设置依赖,TestNG会按方法名首字母排序执行。通过运行代码,验证了依赖关系的正确性。
      31 4
      |
      7天前
      |
      Java 测试技术 Python
      《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)
      【6月更文挑战第22天】本文介绍了如何在TestNG中不执行特定测试用例。当部分模块未准备好时,可以通过以下方式暂停测试:③使用`@Test(enabled=false)`注解来禁用测试用例。作者提供了一个Java Selenium自动化测试的示例,展示如何通过修改`enabled`参数控制测试方法的执行。代码中,`testSearch2()`方法被禁用,因此在测试运行时不执行。文章还包含了测试报告和执行过程的截图。
      36 7
      |
      5天前
      |
      安全 Linux 测试技术
      Kali Linux渗透测试教程:解锁黑客之门
      Kali Linux渗透测试教程:解锁黑客之门
      |
      5天前
      |
      JSON JavaScript 测试技术
      全网最全httpruner自动化测试教程 全是干货
      全网最全httpruner自动化测试教程 全是干货
      |
      11天前
      |
      Java 测试技术 Python
      《手把手教你》系列基础篇(七十九)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-下篇(详解教程)
      【6月更文挑战第20天】TestNG是一个Java测试框架,提供两种测试方法依赖机制:强依赖(所有前置方法成功后才运行)和弱依赖(即使前置方法失败,后置方法仍运行)。文中通过代码示例展示了这两种依赖如何实现,并解释了当依赖方法失败时,如何影响后续方法的执行。文章还包含了TestNG Suite的运行结果截图来辅助说明。
      32 8
      |
      7天前
      |
      XML Java 测试技术
      《手把手教你》系列基础篇(八十二)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-上篇(详解教程)
      【6月更文挑战第23天】TestNG 是一个用于自动化测试的 Java 框架,它自动生成测试报告,包括 HTML 和 XML 格式。报告可在 `test-output` 文件夹中找到。要创建测试用例,可创建一个实现了 `@Test` 注解的方法。通过 `testng.xml` 配置文件来组织和执行测试。默认报告包括测试结果、失败点和原因。用户还能实现 `ITestListener` 和 `IReporter` 接口来自定义报告和记录器。
      24 2
      |
      13天前
      |
      Java 测试技术 Python
      《手把手教你》系列基础篇(七十七)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 上篇(详解教程)
      【6月更文挑战第18天】TestNG是一个Java测试框架,它允许在测试方法间定义执行顺序和依赖关系。当不指定依赖时,TestNG默认按方法名首字母排序执行。`@Test`注解的`dependsOnMethods`属性用于指定方法依赖,如`test1`依赖`test4`,则实际执行顺序为`test4`、`test2`、`test3`、`test1`。如果依赖的方法失败,后续依赖的方法将被跳过。此外,`dependsOnGroups`属性通过组名指定依赖,方便管理多个相关测试方法。通过`groups`定义方法所属组,然后在其他方法中用`dependsOnGroups`引用这些组。
      25 5
      |
      12天前
      |
      测试技术 Python
      Python教程:利用timeit模块对代码进行性能测试
      在Python中,了解代码的性能是优化和改进的关键。timeit模块是Python标准库中的一个工具,用于测量代码片段的执行时间。本文将介绍timeit模块的各种接口、命令行使用方法以及如何对代码中的函数或类进行性能测试。
      22 3
      |
      12天前
      |
      XML Web App开发 测试技术
      《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)
      【6月更文挑战第19天】本文介绍了使用TestNG框架配置XML文件来管理测试用例的分组和依赖关系。
      37 2
      |
      17天前
      |
      Web App开发 XML 安全
      《手把手教你》系列基础篇(七十三)-java+ selenium自动化测试-框架设计基础-TestNG实现启动不同浏览器(详解教程)
      【6月更文挑战第14天】本文介绍了如何使用TestNg进行自动化测试,特别是通过变量参数启动不同浏览器的步骤。
      25 5