如果网站遇到高频请求攻击,在回文里添加 gzip 炸弹似乎是一个不错的方法。通常来说的做法是使用
dd if=/dev/zero bs=1M count=1024 | zip zipbomb.zip -
这个命令,从 /dev/zero 生成压缩包,然后将被攻击的链接指向这个文件就可以了。
但是一般来说这么搞的话 headers 里面的 content-type 会变成 application/octet-stream ,或者攻击方的爬虫单纯根据回文大小也可以比较轻松地过滤掉这些炸弹。有没有什么办法可以嵌入压缩率更高的炸弹呢?比如在 contetn-type=application/json 的类型的回文里插入一些高压缩内容,如果要读取回文的话就需要较大的内存占用,从而限制攻击方的物理资源。
我简单看了一下,似乎 gzip 格式的高压缩都是通过嵌套实现的,而 http 的 gzip 压缩似乎是整个回文都会被压缩,很难单独在 json 里面插入一个嵌套压缩的 gzip 这种东西。万能的 v 友有什么方法吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.