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

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 渗透测试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

      相关文章
      |
      30天前
      |
      存储 Ubuntu 安全
      ROS2教程02 ROS2的安装、配置和测试
      本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
      60 1
      ROS2教程02 ROS2的安装、配置和测试
      |
      15天前
      |
      缓存 测试技术 Apache
      告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
      【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
      42 5
      |
      29天前
      |
      测试技术 开发工具 虚拟化
      iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
      这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
      27 0
      iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
      |
      30天前
      |
      Java 测试技术 Maven
      Junit单元测试 @Test的使用教程
      这篇文章是一个关于Junit单元测试中`@Test`注解使用的教程,包括在Maven项目中添加Junit依赖、编写带有@Test注解的测试方法,以及解决@Test注解不生效的常见问题。
      |
      2月前
      |
      测试技术 API Android开发
      《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
      【7月更文挑战第15天】这是关于自动化测试框架中Selenium API二次封装的教程总结。教程中介绍了如何设计一个支持不同浏览器测试的页面基类(BasePage),该基类包含了对Selenium方法的二次封装,如元素的输入、点击、清除等常用操作,以减少重复代码。此外,页面基类还提供了获取页面标题和URL的方法。
      65 2
      |
      2月前
      |
      Web App开发 XML Java
      《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)
      【7月更文挑战第14天】这篇教程介绍了如何使用Java和Selenium构建一个支持跨浏览器测试的自动化测试框架。设计的核心是通过读取配置文件来切换不同浏览器执行测试用例。配置文件中定义了浏览器类型(如Firefox、Chrome)和测试服务器的URL。代码包括一个`BrowserEngine`类,它初始化配置数据,根据配置启动指定的浏览器,并提供关闭浏览器的方法。测试脚本`TestLaunchBrowser`使用`BrowserEngine`来启动浏览器并执行测试。整个框架允许在不同浏览器上运行相同的测试,以确保兼容性和一致性。
      67 3
      |
      2月前
      |
      存储 Web App开发 Java
      《手把手教你》系列基础篇(九十五)-java+ selenium自动化测试-框架之设计篇-java实现自定义日志输出(详解教程)
      【7月更文挑战第13天】这篇文章介绍了如何在Java中创建一个简单的自定义日志系统,以替代Log4j或logback。
      264 5
      |
      2月前
      |
      设计模式 测试技术 Python
      《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
      【7月更文挑战第10天】Page Object Model (POM)是Selenium自动化测试中的设计模式,用于提高代码的可读性和维护性。POM将每个页面表示为一个类,封装元素定位和交互操作,使得测试脚本与页面元素分离。当页面元素改变时,只需更新对应页面类,减少了脚本的重复工作和维护复杂度,有利于团队协作。POM通过创建页面对象,管理页面元素集合,将业务逻辑与元素定位解耦合,增强了代码的复用性。示例展示了不使用POM时,脚本直接混杂了元素定位和业务逻辑,而POM则能解决这一问题。
      50 6
      |
      2月前
      |
      设计模式 Java 测试技术
      《手把手教你》系列基础篇(九十四)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-下篇(详解教程)
      【7月更文挑战第12天】在本文中,作者宏哥介绍了如何在不使用PageFactory的情况下,用Java和Selenium实现Page Object Model (POM)。文章通过一个百度首页登录的实战例子来说明。首先,创建了一个名为`BaiduHomePage1`的页面对象类,其中包含了页面元素的定位和相关操作方法。接着,创建了测试类`TestWithPOM1`,在测试类中初始化WebDriver,设置驱动路径,最大化窗口,并调用页面对象类的方法进行登录操作。这样,测试脚本保持简洁,遵循了POM模式的高可读性和可维护性原则。
      32 2
      |
      2月前
      |
      XML Java 测试技术
      《手把手教你》系列基础篇(九十一)-java+ selenium自动化测试-框架设计基础-Logback实现日志输出-下篇(详解教程)
      【7月更文挑战第9天】在Java项目中,使用Logback配置可以实现日志按照不同包名输出到不同的文件,并且根据日志级别分开记录。
      69 4