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

news2024/12/30 1:55:18

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

Binwalk

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

Foremost

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

010Editor

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

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

Stegsolve.jar

图片隐写查看神器。

OurSecret

1个图片解密的工具

ARCHPR和Ziperello

暴力破解压缩包的工具。

Zipcenop

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

这里再分享几个工具。

Exif

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

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

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

Stegolve

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

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

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

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

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

LSB(最低有效位)

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

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

stegsolve.jar 检测LSB隐写

打开文件>>analyse>>data extract

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

Zsteg工具 检测LSB隐写

使用方式:zsteg xxx.png

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

Wbstego4工具

解密通过lsb加密的图片

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

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

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

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

TeakPNG

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

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

举个例子:

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/23172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

公众号免费查题功能搭建

公众号免费查题功能搭建 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 题库:题库后台(点击跳转&#xf…

Word处理控件Aspose.Words功能演示:在 Java 中将文本转换为 PNG、JPEG 或 GIF 图像

在各种情况下,通常需要进行文本到图像的转换,例如,使文本成为只读。在上一篇文章中,我们写过如何将TXT文件中的文本转换为 Java 中的 PDF。在本文中,您将学习如何在 Java 中以编程方式将文本转换为PNG、JPEG或GIF图像。…

B. Catching Cheaters(最长公共子序列变形)

Problem - 1446B - Codeforces 给你两个字符串A和B,代表两个涉嫌作弊的学生的论文。对于任何两个字符串C,D,我们将其相似性分数S(C,D)定义为4⋅LCS(C,D)-|C|-|D|,其中LCS(C,D)表示字符串C和D的最长公共子序列。 你认为只有部分文…

三次握手与四次挥的问题,怎么回答?

在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章,今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官…

大一学生网页课程作业 南京介绍网页设计 学生家乡网页设计作品静态 HTML网页模板源码 html我的家乡网页作业

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

uniapp自动识别并切换到pad端、pc端【不断更新】【伸手党福利】

目录uniapp自动切换到pad、pc端(框架方法)1. 新建文件:index为主页面(代理页面)detail为主页面的引用页面(业务页面)leftwindow为左边栏【名字随便起】topwindow为顶部栏【名字随便起】2. pages…

【LeetCode】808.分汤

题目描述 有 A 和 B 两种类型 的汤。一开始每种类型的汤有 n 毫升。有四种分配操作: 提供 100ml 的 汤A 和 0ml 的 汤B 。 提供 75ml 的 汤A 和 25ml 的 汤B 。 提供 50ml 的 汤A 和 50ml 的 汤B 。 提供 25ml 的 汤A 和 75ml 的 汤B 。 当我们把汤分配给某人之后&a…

【selenium】多 frame 切换定位元素

frame 简介 frame 是 html 中的框架导航。同一个框架集中,点击某一框架的超链接,内容会在另一个框架的窗口中展示。 比如后台管理页面,点击左侧导航栏按钮,在右侧区域展示加载的内容,而不是打开一个新的窗口。 fram…

【node进阶】在node.js中优雅的使用Socket.IO模块

✅ 作者简介:一名普通本科大三的学生,致力于提高前端开发能力 ✨ 个人主页:前端小白在前进的主页 🔥 系列专栏 : node.js学习专栏 ⭐️ 个人社区 : 个人交流社区 🍀 学习格言: ☀️ 打不倒你的会使你更强&a…

Serverless Devs 重大更新,基于 Serverless 架构的 CI/CD 框架:Serverless-cd

近日,Serverless 开发者平台 Serverless Devs 重磅发布基于 Serverless 架构的轻量级 CI/CD 框架——Serverless-cd。Serverless-cd 是一款运行在 Serverless 架构上的功能强大而灵活,安全,低成本的CI/CD开源框架。该框架基于 Serverless Dev…

ML XGBoost详细原理及公式推导讲解+面试必考知识点

😄 搞竞赛天天无脑XGBoost、LightGBM、CatBoost,但不知道原理也少许有点尴尬了~,所以打算深入学习下这三大竞赛杀器的原理,整理下面试中一些高频问题。之前有决策树,GBDT的基础了,再学学这三个和随机森林&a…

unix网络编程(四)epoll反应堆

epoll反应堆原理代码demo原理 【epoll模型原来的流程】: epoll_create(); // 创建监听红黑树 epoll_ctl(); // 向书上添加监听fd epoll_wait(); // 监听 有监听fd事件发送—>返回监听满足数组—>判断返回数组元素—> lfd满足accept—>返回cfd---->r…

【仿牛客网笔记】项目进阶,构建安全高效的企业服务——任务执行和调度

http://www.quartz-scheduler.org 集群服务器有两类程序一类普通请求,另一类定时任务。 浏览器通过负载均衡工具Nginx, Nginx同一时刻有一个去处理。 Quartz存入到数据库中,多个Quartz同时访问 线程池测试类 实例化logger,通过logger输出,自…

Java学习之封装

**学习重点:**面向对象编程的三大特征:封装、继承、多态度 封装介绍 封装:encapsulation就是把属性和方法封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(方法)&#xff0c…

【Linux】四、Linux 进程概念(二)|普遍操作系统的进程状态(运行、阻塞、挂起)|Linux的具体进程状态|僵尸进程|孤儿进程

目录 五、进程状态 5.1 普遍操作系统层面的进程状态(宏观) 5.1.1 什么叫做运行状态 5.1.2 阻塞状态 5.1.2 挂起状态 5.2 Linux 的进程状态(具体) 5.2.1 Linux 内核进程状态源代码 5.2.2 Linux 进程状态查看 5.2.3 Linux …

2023年软考高级系统规划与与管理师备考策略

2023年上半年软考高级系统规划与管理师打算怎么备考呢? 系统规划与管理师是高级科目的其中一科,难度系数是有的,系统规划与管理师相较于其他高级考试又相对难度可控。只要你肯下功夫,还是可以拿下的!系统规划与管理师…

ASP.NET Core教程-Routing(路由)

更新记录 转载请注明出处: 2022年11月21日 发布。 2022年11月20日 从笔记迁移到博客。 Route Basic(路由基础) 路由说明 请求URL映射到控制器方法的过程,这个映射过程由路由规则定义。 路由功能 跟据预先配置的路由信息对客户端传来的请求进行路由映射&a…

Hbase Coprocessor 协处理器 与 JavaAPI

协处理器概念 一、协处理器有两种: observer 和 endpoint 1、observer协处理器 Observer 类似于传统数据库中的触发器,当发生某些事件的时候这类协处理器会被 Server 端调用。Observer Coprocessor 就是一些散布在 HBase Server 端代码中的 hook 钩子…

go使用grpc

protoc下载 protoc是protobuf的编译工具,能根据.proto文件生成为各种语言的文件。 原始的protoc集成了如下语言的转换: cc#javaobjectcphppythonruby 但是没有集成go的转换工具。go的转换工具是在protoc的基础上使用插件的方式运行。 protoc 的下载地址…

java面试强基(7)

hashCode() 有什么用? ​ hashCode() 的作用是获取哈希码(int 整数),也称为散列码。这个哈希码的作用是确定该对象在哈希表中的索引位置。 ​ hashCode()定义在 JDK 的 Object 类中,这就意味着 Java 中的任何类都包含…