freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

图片隐写—jpg
2023-04-20 16:52:12
所属地 重庆

1.JPG文件结构

以一幅24位彩色图像为例,JPEG的压缩分为四个步骤:

颜色转换:在将彩色图像进行压缩之前,必须先对颜色模式进行数据转换。转换完成之后还需要进行数据采样

DCT变换:是将图像信号在频率域上进行变换,分离出高频和低频信息的外理过程,然后再对图像的高频部分(即图像细节)讲行压缩

量化:由于下面第四步编码过程中使用的码本都是整数,因此要对频率系数进行量化,将之转换为整数。数据量化后,矩阵中的数据都是近似值,和原始图像数据之间有了差异,这一差异是造成图像压缩后失真的主要原因。。编码:编码是基于统计特性的方法。

四个步骤都完成后的JPEG文件,其基本数据结构为两大类型:段 和 经过压缩编码的图像数据。

PS:

有些段没有长度描述也没有内容,只有段标识和段类型。文件头和文件尾均属于这种段。。段与段之间无论有多少FF都是合法的,这些FF称为「填充字节」,必须被忽略掉。

JPEG文件使用的数据存储方式有多种。最常用的格式称为JPEG文件交换格式(JPEG FileInterchanae FormatJFIF)文件后辍名为ipa或jpeg。JPEG是有损压缩格式,将像素信息用JPEG保存成文件再读取出来,其中某些像素值会有少许变化。在保存时有个质量参数可在0至100之间选择,参数越大图片就越保真,但图片的体积也就越大。一般情况下选择70或80就足够清晰,和pna图片相比,JPEG没有透明度信息。1681980295_6440fb87d872cdd434fad.png!small?1681980297120

具体的内容可以结合之前介绍的16进制编辑器010Editor分析,使用ipg文件模板可以清晰看到文件的数据段和压缩数据分布1681980312_6440fb98521eb6bae54b3.png!small?1681980313845

2.常见隐写方式

JPG文件隐写题目主要有以下几类:

  • exif信息隐藏
  • 字符附加
  • 文件结合
  • 基于DCT域的JPG图片隐写
  • SilentEye工具隐写

exif信息隐藏

可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。jpg图片拥有exif信息,可以通过填充exif信息来隐藏信息

解决方法

  • 在windows右键点击图片,选择属性,可以查看部分的exif信息。
  • 在linux使用工具exiftool可以看到所有的exif信息。1681980405_6440fbf5dc81ea4b26431.png!small?16819804070931681980415_6440fbff795f7a389496e.png!small?1681980416819

    字符附加

    在附加式的图片隐写术中,我们通常是用某种程序或者某种方法在载体文件中直接附加上需要被隐写的字符串或其他信息,由于写入的位置对图片来说无关紧要,所以不会影响图片的正常打开和识别。1681980435_6440fc133ddd5c092c104.png!small?1681980436886

    解决方法

    • 用16进制编辑器打开图片,查找和flaa有关的字符,出现在文件末尾的可能性更大在linux下,使用strings命令,可以将文件中的所有字符串打印出来,strings命令在对象文件或二进制文件中查找可打印的字符串。
    • 字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。
    • strings命令对识别随机对象文件很有用。
    • 常用命令:strings文件名称1681980453_6440fc25e976b3f0f12eb.png!small?1681980455602

    文件结合

    一种采用特殊方式将图片文件(如JPG格式)与其他文件结合起来的文件。该文件一般保存为JPG格式,可以正常显示图片,当有人获取该图片后,可以修改文件的后缀名,比如结合的是zip文件,将图片改为zip压缩文件,在文件无损坏的情况下就可以以zip文件直接打开。

    图种是一种以图片文件为载体,然后将zip等压缩包文件附加在图片文件后面。因为操作系统识别的过程中是,从文件头标志,到文件的结束标志位,当系统识别到图片的结束标志位后,默认是不再继续识别的,所以我们在通常情况下只能看到它是只是一张图片。1681980469_6440fc35598c670f94197.png!small?1681980470775

    1681980476_6440fc3c3f9eea05fe4f8.png!small?1681980477694

    解决方法

    • 在windows下修改后缀名或者16进制编辑器手工分离。
    • 在linux下使用binwalk,dd,foremost工具分离文件

    基于DCT域的JPG图片隐写

    因为DCT是一种有损压缩(LossCompression)技术,但一般不会影响图像的视觉效果,可以通过这个特性来隐藏信息。在这个隐写类型中常见的隐写方法有JSteg、JPHideOutguess F5等等

    解决方法

    • 使用Stegdetect检测隐写方式,并且还可以基于字典暴力破解密码方法提取通过Jphide、outguess等方式嵌入的隐藏信息。
    • 根据Stegdetect的判断结果,使用JSteg、JPHide、OutGuessInvisible SecretsF5等工具完成解密

    SilentEye工具隐写

    使用SilentEye进行信息隐藏,SilentEye是一款免费的图片信息隐藏工具,可以对图片和音频进行信息隐藏。

# CTF
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者