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

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

参考:

https://juejin.cn/post/7289667869557178404

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

什么是压缩炸弹

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

测试

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

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

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

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

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

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

相关推荐
Slow菜鸟1 小时前
SpringBoot集成Elasticsearch | Elasticsearch 8.x专属Java Client
java·spring boot·elasticsearch
Miraitowa_cheems1 小时前
LeetCode算法日记 - Day 82: 环形子数组的最大和
java·数据结构·算法·leetcode·决策树·线性回归·深度优先
豐儀麟阁贵2 小时前
4.5数组排序算法
java·开发语言·数据结构·算法·排序算法
Halo_tjn3 小时前
Java Map集合
java·开发语言·计算机
程序猿小蒜4 小时前
基于springboot的车辆管理系统设计与实现
java·数据库·spring boot·后端·spring·oracle
zl9798994 小时前
SpringBoot-Web开发之Web原生组件注入
java·spring boot·spring
小羊学伽瓦4 小时前
【Java数据结构】——常见力扣题综合
java·数据结构·leetcode·1024程序员节
I'm Jie5 小时前
(五)Gradle 依赖传递与冲突处理
java·spring boot·spring·kotlin·gradle·maven
我命由我123455 小时前
Spring Cloud - Spring Cloud 声明式接口调用(Fiegn 声明式接口调用概述、Fiegn 使用)
java·后端·spring·spring cloud·微服务·架构·java-ee
_extraordinary_5 小时前
Java Spring事务,事务的传播机制
java·开发语言·spring