如何在ZIP压缩炸弹中混入文件?
压缩炸弹在一些攻防场景下可能有一些意料之外的用途
已知一个压缩炸弹bomb.zip
已知一个需要混入其中的文件,flag
查看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内容
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment