首页 » Web前端 » php取图片后缀名技巧_图片可隐藏zip和mp3文件只需修改后缀名这个bug火了

php取图片后缀名技巧_图片可隐藏zip和mp3文件只需修改后缀名这个bug火了

duote123 2024-10-23 0

扫一扫用手机浏览

文章目录 [+]

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

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

php取图片后缀名技巧_图片可隐藏zip和mp3文件只需修改后缀名这个bug火了

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

php取图片后缀名技巧_图片可隐藏zip和mp3文件只需修改后缀名这个bug火了
(图片来自网络侵删)

现在你只要去他的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用户@angealbertini

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

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

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

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

能传输“加密”文件,怎么能说是bug呢?该当是隐蔽功能才对。
(手动狗头)

带压缩包的图片地址:https://i.imgur.com/kNhGrN3.png

David Buchanan的Twitter:https://twitter.com/David3141593/status/1371974874856587268

项目地址:https://github.com/DavidBuchanan314/tweetable-polyglot-png

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一韶光获知前沿科技动态

标签:

相关文章

QQ伪装黑客代码大全技术与风险警示

网络安全问题日益凸显。QQ作为一种流行的社交工具,成为了黑客攻击的主要目标之一。本文将针对QQ伪装黑客代码大全进行深入剖析,揭示其...

Web前端 2025-03-02 阅读1 评论0