
Comprobador de prueba de concepto para la vulnerabilidad CVE-2023-44487 HTTP/2 Rapid Reset DoS. Prueba URLs individuales o en lote para detectar susceptibilidad al marco RST_STREAM con salida en CSV/TXT/XLSX.
Este programa es una Prueba de Concepto (PoC) para CVE-2023-44487, también conocido como el Ataque de Rapid Reset HTTP/2. La vulnerabilidad permite a los atacantes realizar un ataque de Denegación de Servicio (DoS) enviando rápidamente tramas RST_STREAM sobre conexiones HTTP/2, abrumando al servidor objetivo.
Instala las librerías de Python requeridas usando el siguiente comando:
pip install -r requirements.txt
Alternativamente, puedes instalarlas individualmente:
pip install httpx==0.24.0
pip install h2==4.1.0
pip install tqdm==4.66.1
pip install xlsxwriter==3.1.6
Clonar el repositorio
git clone https://github.com/yourusername/CVE-2023-44487-HTTP-2-Rapid-Reset-Exploit-PoC.git
cd CVE-2023-44487-HTTP-2-Rapid-Reset-Exploit-PoC
Configurar un entorno virtual (opcional pero recomendado)
python3 -m venv venv
source venv/bin/activate
Instalar dependencias
pip install -r requirements.txt
--url: URL a probar (ej. https://example.com o http://example.com)--bulk: Archivo que contiene una lista de URLs a probar--port: Especificar puerto (por defecto es 443 para HTTPS, 80 para HTTP)--output: Archivo de salida para guardar resultados (.csv, .txt o .xlsx)Probar una sola URL
python3 main.py --url https://example.com
Probar múltiples URLs desde un archivo
python3 main.py --bulk urls.txt
Especificar un puerto personalizado
python3 main.py --url http://example.com --port 8080
Guardar resultados en un archivo
python3 main.py --bulk urls.txt --output results.xlsx
[
{
"Timestamp": "2024-12-03 10:00:00",
"URL": "https://example.com",
"HTTP/2 Support": "Yes",
"Vulnerable": "VULNERABLE",
"Details": "RST_STREAM sent successfully"
},
{
"Timestamp": "2024-12-03 10:00:05",
"URL": "http://testsite.com",
"HTTP/2 Support": "No",
"Vulnerable": "SAFE",
"Details": "Downgraded to HTTP/1.1"
}
]
RST_STREAM de una manera que sugiere que podría ser vulnerable a CVE-2023-44487. Se recomienda una verificación manual adicional.httpx==0.24.0
h2==4.1.0
tqdm==4.66.1
xlsxwriter==3.1.6
Suponiendo que tienes un archivo llamado urls.txt que contiene:
https://example.com
http://testsite.com
https://vulnerable-site.com
Comando:
python3 main.py --bulk urls.txt --output results.csv
Ejemplo de results.csv:
Timestamp,URL,HTTP/2 Support,Vulnerable,Details
2024-12-03 10:15:00,https://example.com,Yes,VULNERABLE,RST_STREAM sent successfully
2024-12-03 10:15:05,http://testsite.com,No,SAFE,Downgraded to HTTP/1.1
2024-12-03 10:15:10,https://vulnerable-site.com,Yes,VULNERABLE,RST_STREAM sent successfully
Nota: Reemplaza https://vulnerable-site.com con un sitio real que tengas permiso para probar.
Házmelo saber si necesitas más ayuda o modificaciones.
| Marca de tiempo | URL | Soporte HTTP/2 | Vulnerable | Detalles |
|---|
| 2024-12-03 10:00:00 | https://example.com | Sí | VULNERABLE | RST_STREAM enviado exitosamente |
| 2024-12-03 10:00:05 | http://testsite.com | No | SEGURO | Degradado a HTTP/1.1 |