🦣 TuskMads HTTP/2 安全实验室
一个从头开始构建、纯 Python 编写的 HTTP/2 攻击模拟与防御实验室。
功能说明
模拟针对脆弱服务器的 3 种真实 HTTP/2 攻击,然后展示加固服务器上的 5 层防御如何全部阻止这 3 种攻击。
实现的攻击
| 攻击 | 技术 | 影响 |
|---|
| Slowloris | 打开流,从不发送 END_STREAM | RAM 耗尽 |
| Rapid Reset | RST_STREAM 洪泛(CVE-2023-44487) | CPU 耗尽 |
| HPACK Bomb | 每个请求 300+ 个头部 | 内存分配攻击 |
实现的防御
| 防御 | 方法 |
|---|
| Slowloris Watchdog | 后台线程杀死空闲连接 |
| Rapid Reset Ban | 10 次 RST 后永久禁止 IP |
| Header Flood Block | 头部超过 25 个则重置流 |
结果
基础服务器 → 0/3 已拦截(0%)
加固服务器 → 3/3 已拦截(99%)
运行方法
pip install h2
# Terminal 1
python3 basic_server.py
# Terminal 2
python3 hardened_server.py
# Terminal 3
python3 compare.py