可以撑爆硬盘的 “压缩炸弹”

1,247 阅读3分钟

前言

压缩包炸弹英文为Arc.Bomb,是一款压缩包病毒。它通常只有几百KB,但是解压后会变成上百MB的庞然大物。

一般来说,压缩文件不会直接感染系统,如果贸然对其进行解压缩,会瞬间挤爆磁盘,导致服务器无法提供服务或直接宕机。

压缩炸弹是一种高度危险的文件类型,通常用于攻击计算机系统。它是一种特殊的压缩文件,可以在解压缩时扩大到比原始文件更大的尺寸,甚至大到足以破坏整个系统。

压缩文件大小及解压后大小:

zbsm.zip42 kB5.5 GB
zblg.zip10 MB281 TB
zbxl.zip46 MB4.5 PB (Zip64, less compatible)

新版本的杀毒软件会自动查杀下载的以上文件,如果需要测试的话,需要先关掉火绒

压缩炸弹的工作原理

压缩炸弹的工作原理非常简单,它利用了压缩算法的特性。在压缩算法中,相似的数据块会被替换为对这些数据块进行描述的更短的代码。这使得压缩文件比原始文件更小,但也意味着同一段数据可以被多次引用。

压缩炸弹利用了这一点,将一个小文件压缩成一个极其小的存档文件,但是这个存档文件里包含了大量重复的数据块。当你尝试解压缩这个存档文件时,解压缩程序会替换这些重复的数据块,这就导致了一系列问题。

解压缩程序会不断地解压缩这些数据块,直到达到计算机可以处理的极限。如果计算机的资源被消耗殆尽,它可能会崩溃或冻结。如果没有采取适当的防护措施,这种攻击可以破坏整个系统。

安装Python环境

参考:zhuanlan.zhihu.com/p/579183896

安装完成后,输入 python --version,能够显示版本号,即安装完成

制作炸弹

开源地址:github.com/CreeperKong…

下载以上的开源项目到本地,然后在cmd窗口打开

执行命令

python3 zipbomb.py --mode=quoted_overlap --num-files=250 --compressed-size=21179 > zbsm.zip

但是很遗憾,在windows上未复现,zbsm.zip文件是空的

测试炸弹

从官网下载 zbsm.zip 文件后,解压真的有5.5GB,

如何防范

限制文件大小

限制文件大小是避免压缩炸弹攻击的一种方法。这可以通过在系统级别设置文件大小限制来实现。这样,如果一个文件尝试超出这个限制,它将被拒绝或自动删除。

使用压缩算法

使用更好的压缩算法也可以帮助防范压缩炸弹攻击。现代压缩算法通常会检测重复的数据块,并将它们替换为更短的代码。这意味着即使存档文件中有重复的数据块,它们也不会被多次解压缩。因此,可以使用更高效的压缩算法来防范压缩炸弹。

使用安全的解压缩程序

使用安全的解压缩程序也可以帮助防止压缩炸弹攻击。一些解压缩程序会检测文件大小和解压缩后的数据量,并在达到一定阈值时停止解压缩。这样,即使存在压缩炸弹,也可以避免损害系统。

安装杀毒软件

安装杀毒软件可以帮助识别和清除压缩炸弹文件。杀毒软件通常会检测文件大小和数据量,并识别出潜在的压缩炸弹文件。如果发现这样的文件,杀毒软件会将其标记为危险文件或直接删除。

参考链接

  1. 压缩炸弹(zipbomb)制作(附演示)
  1. 压缩炸弹下载