
Laboratório de simulação de ataques e defesa HTTP/2 - Ataques Slowloris, Rapid Reset (CVE-2023-44487), HPACK Bomb com 5 defesas em camadas. Construído em Python puro com sockets brutos e a biblioteca h2.
Um laboratório de simulação e defesa de ataques HTTP/2 construído do zero em Python puro.
Simula 3 ataques HTTP/2 reais contra um servidor vulnerável e demonstra 5 camadas de defesa que bloqueiam todos os 3 em um servidor protegido.
| Ataque | Técnica | Impacto |
|---|
| Slowloris | Abre stream, nunca envia END_STREAM | Exaustão de RAM |
| Rapid Reset | Inundação RST_STREAM (CVE-2023-44487) | Exaustão de CPU |
| HPACK Bomb | Mais de 300 cabeçalhos por requisição | Ataque de alocação de memória |
| Defesa | Método |
|---|---|
| Slowloris Watchdog | Thread em segundo plano encerra conexões ociosas |
| Rapid Reset Ban | IP banido permanentemente após 10 RSTs |
| Header Flood Block | Reset de stream se cabeçalhos > 25 |
| Rate Limiter | IP banido após 60 req/min |
| Stream Cap | MAX_CONCURRENT_STREAMS = 20 |
Servidor Básico → 0/3 bloqueados (0%) Servidor Protegido → 3/3 bloqueados (99%)
pip install h2
# Terminal 1
python3 basic_server.py
# Terminal 2
python3 hardened_server.py
# Terminal 3
python3 compare.py