压缩炸弹在一些攻防场景下可能有一些意料之外的用途

压缩炸弹生成工具:https://github.com/CreeperKong/zipbomb-generator

已知一个压缩炸弹bomb.zip

已知一个需要混入其中的文件,flag

查看zipinfo

zipinfo

目标就是将属性值做到一模一样,这样就不容易被发现。

先修改文件的修改时间

1
touch -d "1982-10-08 13:37:00" flag

flag混入bomb.zip

1
zip -kgjX bomb.zip flag

后记

  • k代表使用MS-DOS模式/FAT。
  • g代表在原来的基础上添加文件(末尾添加),而不是重新生成压缩包,不然就会导致压缩炸弹体积变大。
  • j代表不包含文件的路径
  • X去除文件extra属性以实现zipinfo中的”b-“
  • defN 需要在flag中填充一些重复字符,以使用哈夫曼编码,当然,文件体积相似也挺重要,最好填充一些相同字符,将体积填充到与其他文件相同。
  • zipinfo中的两字符标识如 b- tx bx 需要构造好文件内容,b代表binary,文件中有一些不可见字符即可,t代表text。
  • x代表有extra内容