当前位置:频道 > 正文

只需修改后缀名 图片可隐藏zip和mp3文件

2021-03-22 10:49:25  来源:量子位

明明下载的是一张图片,只需修改后缀名,图片就变成了一首歌,一串Python代码。

国外黑客David Buchanan利用Twitter的漏洞,可以用图片伪装的方式传输一份“加密”文件,前提是不超过3MB。

他成功把这种藏匿文件的GitHub源代码压缩到图片中。

现在你只要去他的Twitter,把这张图片下载下来,并将文件后缀名从.png修改为.zip,即可解压为Github代码。

(注:亲测Mac自带解压工具报错,第三方工具可正常解压。)

对于有十几年网龄的老网民来说,这并不是一项新技术。早年就有人将文本文件或种子文件藏匿在jpg图片中。

这种方法的特点在于,把文件打包到图片中并不影响正常显示,但一般来说文件大小不过几十KB。

随着网络发展,越来越多的平台允许用户上传大尺寸无损图片,这就给藏匿大文件提供了契机。

Buchanan的新方法现在将藏匿文件体积增加到3MB,你甚至能放入一首歌。

Twitter上就有现成的例子,Buchanan放出了一张surprise.mp3的图片。如果后缀名修改为.mp3,就变成了一首歌。

至于这个surprise,自然毫无意外是Rick Astley的《Never Gonna Give You Up》这首歌。恭喜你,又被“瑞克摇”了。

Buchanan的这一发现已经连续多天成为GitHub热门项目,最终在周末登上日榜第一。

使用方法很简单,只需要将pack.py文件下载到本地,运行以下代码:

python3 pack.py cover.png file.zip output.png

其中,cover.png是封面图片,file.zip是你要藏匿的文件,output.png是输出结果的文件名。

从外观上来看,output.png和cover.png是一样的,但多出一个压缩包的大小。

原理

用图片隐藏压缩包的原理并不复杂,png图片文件的格式如下。在Zlib之后,有一片IDAT块的附加数据。藏匿数据就放在这里。

Twitter通常会压缩图像并删除所有不必要的元数据,但是可以在“ DEFLATE”的末尾添加更多数据。

如果整个图像文件符合避免重新编码的要求,压缩包内容就不会从IDAT块内的DEFLATE流中剥离。

这种方法不仅限于嵌入zip、mp3等文件,只要数据能压缩到3MB以内,都可以嵌入到png图片中。

Buchanan表示,这种方法可能被黑客用于藏匿恶意代码,他本人已将该漏洞利用报告给“漏洞赏金”程序,但却被Twitter告知这不是bug。

能传输“加密”文件,怎么能说是bug呢?应该是隐藏功能才对。

推荐阅读

Procon-SP对苹果进行了190万美元的罚款处罚

3月21日消息,因在巴西出售的iPhone 12未配套提供充电器,巴西消费者权益保护监管机构Procon-SP对苹果进行了190万美元的罚款处罚。几个月 【详细】

Model Y爆胎事故 特斯拉回应:使用问题引起胎体受损

近日,长沙的陈女士在特斯拉服务中心花费近40万购买了一辆特斯拉Model Y(参数丨图片)汽车。在提新车的第10天,她带着孩子驾驶车辆前往湖北 【详细】

显卡已经涨价超 100% 消费者面临一卡难求的局面

据央视报道,在过去的四个月内,显卡已经涨价超 100%,消费者面临一卡难求的局面。一位游戏玩家对央视表示,他在去年 12 月以 7300 购 【详细】

显卡市场调查:价格暴涨100%

3月18日消息,显卡主要负责一台电脑的图形计算,无论是玩游戏还是剪辑视频都需要一块好的显卡。从去年底开始,受虚拟货币大涨影响,新发售 【详细】

电动汽车纯电动续航 纯电动车续航里程出炉

现如今,纯电动车在国内的热度与日俱增。不过由于当下电池技术的局限,使得很多产品的续航不尽人意,甚至还出现了续航焦虑这样的新词。因此 【详细】

关于我们  |  联系方式  |  免责条款  |  招聘信息  |  广告服务  |  帮助中心

联系我们:435 203 [email protected] 备案号:粤ICP备18023326号-40

科技新闻网 版权所有