zipbomb

admin 发布于 15 天前 19 次阅读


AI 摘要

Zipbomb,也称为压缩包炸弹,利用压缩包对重复数据的高压缩比特性,创造出原本数据庞大但压缩后极小的文件。通过多级压缩或特殊技术突破常规压缩限制,zipbomb能够在解压后消耗巨大存储,致使服务瘫痪。虽然这类攻击方式早已得到有效防范,它仍然是对压缩技术深层理解的有趣体现。

所谓的zipbomb,其实就是压缩包炸弹。通过压缩包的特性,制作出一个原本数据很大,但被压缩后数据很小的压缩包。本质是利用压缩包对重复数据的压缩比大的特点。

对于具有文件上传功能的服务,包括网站,APP等。如果在文件上传后会在某些场景下自动解压,并且不对文件大小进行校验。便可以通过这种压缩包进行文件上传攻击,使服务器存储耗尽无法运行。

目前常说的zipbomb通常有两种实现形式,其本质来源于压缩的固有特性。因为zip压缩包的常用压缩算法,DEFLATE算法(LZ77+哈夫曼编码),以及压缩包包含的固定开销等原因。让压缩包的压缩倍率很难达到千倍以上。用一个数据直观来看。一个1MB的压缩包,解压之后最大也就是1GB左右。要真正实现所谓的攻击,这点远远不够。更加详细的原因可以看看豆包的解释

https://www.doubao.com/thread/a53b5470fa7cd

因此第1种方式便是多级压缩,第2种就是通过特殊的方法实现的高压缩比压缩。

我们现在看第1种方法,多级压缩,顾名思义,单级的压缩无法突破的高压缩比,可以通过将压缩包再次压缩的方法,其实最经典的就是42zip,其名称的来源便是压缩后的压缩包是42KB,其在解压之后可达到约4.5PB的大小,整个压缩包经过6级压缩。

目前42zip有两个版本。其老版本是最经典的版本,新版本在解压时需要密码。下面是相关文件及其来源

https://theaviary.me/Zip-Bomb/42.html

第2种是用特殊的方法实现了单级压缩突破千倍倍率的方法。原文章中有详细的实现方式,这里不做展开讨论。

作者给了三个版本,其中最大的版本压缩包为46MB,解压后文件可达到4.5PB。下面是其相应的来源和内容。

https://www.bamsoftware.com/hacks/zipbomb/

大多数厂商对于此种攻击方式都有着很好的预防和检测措施。这种攻击方式的预防和检测其实也很简单。只要有这种意识,就几乎不可能被攻击。

目前此种技术更多成为了对压缩技术的理解和学习,对压缩技术底层的了解。很少再算得上一种“攻击方式”。

祝前程似锦。

此作者没有提供个人介绍。
最后更新于 2026-02-11