文件压缩炸弹,想到有点后怕

今天了解到一个概念,压缩炸弹。

参考:

https://juejin.cn/post/7289667869557178404

https://www.zhihu.com/zvideo/1329374649210302464

什么是压缩炸弹

压缩炸弹(也称为压缩文件炸弹、炸弹文件)是一种特殊的文件,它在解压缩时会迅速膨胀成极其庞大的文件,可能导致系统资源耗尽、崩溃或磁盘空间耗尽。
压缩炸弹的原理是利用文件压缩算法中的重复模式和递归压缩的特性。它通常是一个非常小的压缩文件,但在解压缩时会生成大量的重复数据,导致文件大小迅速增长。这种文件的设计意图是迫使系统进行大量的解压缩操作,以消耗系统资源或填满磁盘空间。
压缩炸弹可能对系统造成严重的影响,包括系统崩溃、资源耗尽、拒绝服务攻击等。因此,它被视为一种恶意的计算机攻击工具,常常被用于恶意目的或作为安全测试中的一种工具。

测试

这里可以使用代码生成,为了省事,找了个测试文件,网站下载 https://unforgettable.dk/ 它的初始大小是 42KB , 解压密码是 42 。

下载下来,我的卡巴竟然没有报毒。先解压下:

解压处理,卡巴立马给删了,还是没有白掏钱的。

看到这个概念,还是有点后怕,以前写的程序都没有防护这点,PC有杀毒软件还好点,如果是没有杀毒软件的服务器呢?

参考文章也有解决方法,使用程序限制压缩文件大小,检测压缩炸弹。

写这篇文章,也是为了记录下,以后在写程序的时候得防着点呀。

相关推荐
咖啡教室3 小时前
java日常开发笔记和开发问题记录
java
咖啡教室3 小时前
java练习项目记录笔记
java
鱼樱前端4 小时前
maven的基础安装和使用--mac/window版本
java·后端
RainbowSea4 小时前
6. RabbitMQ 死信队列的详细操作编写
java·消息队列·rabbitmq
RainbowSea5 小时前
5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
java·消息队列·rabbitmq
李少兄6 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
此木|西贝6 小时前
【设计模式】原型模式
java·设计模式·原型模式
可乐加.糖7 小时前
一篇关于Netty相关的梳理总结
java·后端·网络协议·netty·信息与通信
s9123601017 小时前
rust 同时处理多个异步任务
java·数据库·rust
9号达人7 小时前
java9新特性详解与实践
java·后端·面试