晓查发自凹非寺

量子位报导|公众号QbitAI

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

美国黑客DavidBuchanan借助Twitter的漏洞,可以用图片伪装的形式传输一份“加密”文件,前提是不超过3MB。

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

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

文件隐藏后缀名怎么修改后缀名_linux加密打包命令 zip_隐藏图片后缀名

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

隐藏图片后缀名_文件隐藏后缀名怎么修改后缀名_linux加密打包命令 zip

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

这些方式的特性在于,把文件打包到图片中并不影响正常显示,但通常来说文件大小不过几十KB。

随着网路发展,越来越多的平台容许用户上传大规格无损图片linux操作系统,这就给藏匿大文件提供了抓手。

隐藏图片后缀名_linux加密打包命令 zip_文件隐藏后缀名怎么修改后缀名

Buchanan的新方式如今将藏匿文件容积降低到3MB,你甚至能装入一首歌。

Twitter上就有现成的事例,Buchanan放出了一张surprise.mp3的图片。假如后缀名更改为.mp3,就弄成了一首歌。

隐藏图片后缀名_linux加密打包命令 zip_文件隐藏后缀名怎么修改后缀名

至于这个surpriselinux加密打包命令 zip,自然毫无意外是RickAstley的《NeverGonnaGiveYouUp》这首歌。恭喜你,又被“瑞克摇”了。

Buchanan的这一发觉早已连续多天成为GitHub热门项目,最终在假期登上日榜第一。

文件隐藏后缀名怎么修改后缀名_linux加密打包命令 zip_隐藏图片后缀名

使用方式很简单,只须要将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用户@angealbertini

Twitter一般会压缩图象并删掉所有何必要的元数据,并且可以在“DEFLATE”的末尾添加更多数据。

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

这些方式除了限于嵌入zip、mp3等文件linux操作系统简介,只要数据能压缩到3MB以内,都可以嵌入到png图片中。

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

能传输“加密”文件,如何能说是bug呢?应当是隐藏功能才对。(自动狗头)

带压缩包的图片地址:

DavidBuchanan的Twitter:

项目地址:

—完—

量子位QbitAI·头条号签约

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复