当前位置: 首页 > news >正文

图片 - voasem

常用工具

  • binwalk

  • foremost

  • winhex

  • 010

  • file

  • stegsolve

  • zsteg

  • F5

  • Stegdetect

  • Steghide

  • outguess

  • exiftool

  • stegseek

解题思路

一.未知文件类型

当文件没有后缀名或者有后缀名却无法打开时,我们需要去识别图片类型

1.可以用file命令进行识别

image-20250917102111491

2.通过以下应用查看文件头类型---->然后判断出文件类型

  • winhex
  • 010
  • notepad++

常见文件头如表所示

文件类型 文件头
JPEG(jpg) FFD8FFE1
PNG(png) 89504E47
GIF(gif) 47494638
TIFF(tif) 49492A00
Windows Bitmap(bmp) 424DC001
ZIP Archive(zip) 504B0304
RAR Archive(rar) 52617221
Adobe Photoshop(psd) 38425053

3.文件头 缺失/错误

先用file查看,得到结果data,意思是不知道是什么类型

通常文件无法正常打开有两种情况,一种是文件头部残缺,另一种是文件头部字段错误。

针对文件头部残缺的情况,使用 winhex /010手动补全文件头

针对头部字段错误,可以找一个相同类型的文件进行替换。
image-20250917102741693

二.已知文件类型

题型1:文件分离操作

图片隐写:出题人把很多同类型或者不同类型的文件融合成一个文件----->文件分离操作

1.binwalk工具(命令)

查看文件结构,可以用binwalk -e 来分离文件

如果分离成功会在同目录下生成一个形如_文件名_extracted 的文件目录,目录中有分离后的文件。

linux下的命令binwalk查看图片中有没有隐藏信息(是否包含其他文件)
image-20250419193600157

说明0x0--0x596f范围内的文件是jpeg,后面的是zip

现在的任务是要分离JPEG中的zip

2.foremost工具(命令)

binwalk用不了的时候用foremost

命令格式: foremost 文件名 -o 输出目录名

foremost会把文件夹自动分类,分类后还帮你写个日志

image-20250419195800128

** 3.dd(最难用,最复杂)**

当文件自动分离出错或者因为结构复杂无法自动分离时,可以使用 dd 实现文件手动分离。

半自动化工具,可以实现手动分离

如下图所示情况(此时每个文件都不完整),用前两个工具无法完整的把文件分离出来

用法说明:

dd if=源文件 of=目标文件名 bs=n(长度)count=n(几个) skip=开始分离的字节数

eg:

image-20250419201429232

(1)dd if=1.txt of=2.txt bs=5 count =1

​ 从源文件1.txt里截取内容,创建成一个新文件2.txt,截取的长度为5(从头开始),截取一个(块)

就是12345

(2)dd if=1.txt of=3.txt bs=5 count =2

​ 从源文件1.txt里截取内容,创建成一个新文件3.txt,截取的长度为5(从头开始),截取两个(块)

就是1234567890

(3)如果我不想让他从头开始
image-20250419202355284

dd if=1.txt of=4.txt bs=5 count =3 skip=1

从源文件1.txt里截取内容,创建成一个新文件4.txt,截取的长度为5(从跳过的5个字节后再开始),截取三个(块),跳过第一个块(从头开始)

就是从头开始跳过5个字节,然后截取后面的15个字节

结果就是67890abcdefg
image-20250419203113054

应用:

(1)用命令行进行半手动分离
image-20250419204807017

(2)用010手动存到一个文件夹里

image-20250419205251249

能直接看懂文件头,可以直接修改文件后缀

题型2:文件内容隐写

(1)有的题会直接把内容藏在十六进制里,可以用padnote++查看,或者010,打开直接搜索flag/key/xxxctf.

(2)有的可能藏在属性的详细信息里

(3)多帧隐藏,gif的图片直接在某一帧图片存放明显的flag,可能较快闪过

(4)最低有效位LSB隐写

​ 红绿蓝三原色

​ 一字节8bit

​ 最后一位是最低有效位,改成0/1没有任何区别(对这个颜色没有任何影响)

image-20250420103941380

工具:Stegsolve

Stegsolve打开

先打开cmd,然后输入
image-20250420103734308

应用一:改变最低为0/1,查看data extract

image-20250420104045671

应用二:如果题目给了两张一样/相似的图片,可以试试异或(二维码也可以)

用Image combiner进行XOR,ADD,SUB等操作.异或加减运算

题型3:图片修复

1.文件头尾修复(即未知文件类型)

2.宽高修复

3.CRC校验修复

可以用脚本自行破解宽高(ps:只适合常见的12:16)

可能是文件的宽或高发生错误,需要用CRRC来计算出正确的宽高

脚本“2.png”是可改文件名,crc就用原先错误的冗余码就可以

image-20250420111220816

题型4:图片加密

难在1.不知加密方式2.找不到解密工具

以下是一些用过的解密工具:

1.firework

当你用 winhex 打开文件时会看到文件头部中包含 firework 的标识,通过 firework 可以找到隐藏图片。

image-20250917110241453

2.exiftool
image-20250917110305292

3.wbstego4工具(有点麻烦)

支持的文件格式更多

image-20250420104634289

continue--》decode---》展示支持的文件类型(bmp)--》(”画图“工具可以转换图片类型)复制文件地址--》输入密码---》创建新文件---》打开新文件(notepad)(遇到乱码--》用16进制打开)

*支持的文件类型
image-20250420104814170

4.python脚本

image-20250420105451048

JPG解密

1.Slienteye

image-20250917111517742

image-20250420112202678

2.Stegdetect-JPEG

Stegdetect 程序主要用于分析 JPEG 文件,能检测出通过 StegJPHideOutGuessInvisible SecretsF5appendXCamouflage 等隐写工具隐藏的信息。
image-20250917111110617

3.

image-20250420112404878
4.outguess 命令:outguess -k '密码' -r 图片 flag.txt(导出的flag存放地),然后直接cat flag.txt
5.
image
6.stegseek 命令:stegseek 图片 rockyou.txt
image-20250527194419720

png解密

3.zsteg

可以查看png&bmp图象,能看到其中的LSB结构

会把所有可能隐藏的文本信息都列出来

image-20250917110734737

gif图片

1.convert命令

convert cake.gif cake.png

2.identify查看时间间隔

identify -format "%s %T \n" test.gif

image-20250530203727177

二维码

直接使用CQR.exe打开二维码图片,找到内容字段

tips:如果二维码某个定位角被覆盖了,该工具有时候也可以自动识别,如果识别失败,需要使用PS或画图工具将另外几个角的定位符移动到相应的位置,补全二维码。
除此之外,二维码还有很多不同的类型

常见二维码种类:

  • 汉信码
  • QRCode
  • PDF417
  • Data Matrix
  • Grid Matrix
  • Aztec code

QRCode

QRCode 是由日本 Denso-Wave 公司于 1994 年研制的一种矩阵二维码,现已成为世界上最流行的二维码码制之一。QRCode 是英文 Quick Response Code (快速响应)的缩写,超高速识读特点是 QRCode 区别于 PDF417、Data Matrix 等二维码的主要特性。
QRCode 最多可容纳多达7089个数字字符、4296个字母字符或2953 字节的数据。具备四种纠错等级:7%、15%、25% 、30%,即使它被遮挡了一部分,也能被设备正常识别。

Grid Matrix

Grid Matrix Code 是一种由中国研发的二维码,现已成为二维码国家标准并在2007年获得信息产业部科技进步奖。
Grid Matrix 外观整体由一个正方形组成,正方形中包含许多由更小的正方形组成的矩阵。由于矩阵中的方块在深色和浅色之间交替,因此形似一个小棋盘,因此又被称为网格矩阵码。Grid Matrix 专门设计用于对中文字符进行编码,因为可以对整个 GB2312-1980 字符集以及 ASCII 进行编码。

Data Matrix

Data Matrix 原名 Data code,由美国国际资料公司(International Data Matrix) 于 1989 年发明。该二维码最大特点就是密度高,其尺寸是所有同类条码中最小的码,可在仅仅25mm²的面积上编码30个数字。由于小巧的特点,其主要用于小型零件、电子产品和制药行业等。Data Matrix 可以存储最多 3116 个数字、2335 个字母 或 1556 字节的数据。

PDF417代码

pdf417-code_800_8

PDF417 码是由美国 Symbol Technologies 公司于 1991 年发明的一种堆叠式二维码(由线性条形码堆叠而成),广泛地应用在交通运输、工商业、金融、海关及政府管理等领域。 PDF 是英文 Portable Data File 单词首字母的缩写,意为“便携数据文件”。PDF417 码可用于存储字母、数字、ASCII,中文等多种字符,理论上可容纳 1850 个字母数字字符,2710 个数字或 1108 个字节。

Han Xin

han-xin_800_91

汉信码是中国开发的一种二维码标准,由中国物品编码中心以及相关单位合作开发完成。如今,汉信码已经成为中国和国际二维码标准之一。 汉信码是目前唯一一个全面支持我国汉字信息编码 GB18030 的二维码码制,信息容量也更大,最多可表示 7829 个数字、4350 个 ASCII 字符、2174 个汉字 或 3262 字节的信息。 汉信码具备四种纠错等级:8%、15%、23% 、30%,不输QR码。抗污损、抗畸变识读能力强,特别适合在恶劣条件下使用。

Aztec Code

aztec-code-_800_70

Aztec Code 中文称阿兹特克码,是由 Andrew Longacre,jr 和 Robert hussey 与 1995 年发明的二维码。该二维码构筑在方形网格上,其中心有一个“牛眼”图案用以定位,由于中心图案与阿兹特克金字塔相似,因此得名 Aztec code。 Aztec code 通常用于机票和其他旅行证件。最多可存储 3823 个数字、3067 个字母 或 1914 字节的数据。

除此之外还有些没见到过的二维码种类

数据矩阵

image-20250917114415767

这数据矩阵码 其边缘有一个 L 形取景器图案。

其模式识别功能使扫描仪能够轻松水平或垂直读取嵌入的数据。

自 1989 年推出以来,数据矩阵码已经取得了长足的进步。

现在广泛应用于产品标签,特别是食品生产、药品和电子零件生产公司。

使用此类条形码,用户最多可以嵌入各种语言的 2,335 个字母数字或图形字符。

这就是为什么它具有更高的容错能力,即使在外观损坏 25% 的情况下,扫描仪仍然可以访问嵌入的数据。

马克西码

maxicode_800_2

MaxiCode 受到联合包裹服务公司 (UPS) 的欢迎和独家使用,用于监控和管理包裹运输。

其圆形符号看起来酷似靶心,使其在其他二维条码中脱颖而出。

虽然其他的装饰有方形像素和取景器图案,但 MaxiCode 的符号被点图案包围。

对于未经训练的人来说,它们看起来只是一簇点。但当仔细观察时,这些点实际上形成了六边形图案。

每个点簇对于代码的可扫描性都起着重要作用。其中包括 MaxiCode 的查找器模式、纠错功能和数据加密区域。

而且与其他二维条码相比,MaxiCode 的存储容量相对较小。

用户可以嵌入 93 个字母数字字符和 138 个数字字符,这足以对包裹的地址或位置数据(例如国家/地区代码)进行编码。

另一方面,MaxiCode 的固定尺寸为 1 英寸 x 1 英寸。

点码

dotcode_800

顾名思义,DotCode 由点组成,其中数据、纠错和模式检测均经过加密。

但 DotCode 并没有像当今大多数二维条形码那样将点压缩成正方形,而是向侧面延伸,形成矩形外观。

尽管其存储容量仍未知,但 DotCodes 肯定可以对 7 位和 8 位 ASCII 字符以及其他特殊字符进行编码,从而允许用户存储更大容量的数据。

以上就是全部,解码网站

http://www.wxhsa.cn/company.asp?id=6643

相关文章:

  • 面试时让你设计一个“朋友圈点赞”功能测试,如何回答才出彩?
  • 企训宝教育培训微信小程序系统
  • Inventor Professional 2026.1.1 产品设计与工程制图
  • 叮当计步微信小程序系统
  • fetch-event-source踩坑sse(getReader)后续 IOS全量返回问题
  • P12508 「ROI 2025 Day2」程序员的日常
  • 手机上有哪些比较好用的待办事项提醒工具 - 指南
  • Redis源码学习 -- 数据类型编码 -- List - -蓝蜗牛
  • 乌班图无法登录桌面,只能终端登录用户。且有网拉不了包(DNS问题)
  • 事半功倍是蠢蛋53 tornado接口报错
  • 完整教程:云手机的技术架构可分为哪些
  • AI提示词遇见精密算法:TimeGuessr如何用数学魔法打造文化游戏新体验
  • Arkime:大规模开源网络分析与数据包捕获系统
  • kylin SP2安装mysql 8.0.41
  • SAP采购订单数据获取
  • get和post如何理解
  • me and my girlfriend WP复盘
  • 顺序表
  • 能源管理的数字神经:MyEMS如何重塑能效认知
  • 开源・数据・能效:MyEMS 如何成为能源管理革新的核心引擎
  • mysql回表,为什么你的查询总是慢半拍?
  • HMCL 3.6.17 Minecraft我的世界启动器
  • 用自带的Nginx为gitlab做白名单
  • XHR/Fetch请求介绍与安全测试
  • 能流新智:MyEMS与开源时代的能源感知
  • ​​普科科技罗氏线圈应用指南:精准掌控电流测量的艺术​​
  • go mod基础
  • go 变量作用域
  • Oracle笔记:测试update语句关联表扫描的次数
  • ​​电流互感器选型指南:以普科科技产品为例