
Preuve de concept pour la vérification de la vulnérabilité DoS CVE-2023-44487 HTTP/2 Rapid Reset. Teste des URL uniques ou en masse pour la susceptibilité aux trames RST_STREAM avec sortie CSV/TXT/XLSX.
Ce script est une preuve de concept (PoC) pour CVE-2023-44487, également connue sous le nom d'attaque Rapid Reset HTTP/2. Cette vulnérabilité permet à des attaquants de mener une attaque par déni de service (DoS) en envoyant rapidement des trames RST_STREAM sur des connexions HTTP/2, submergeant ainsi le serveur cible.
Installez les bibliothèques Python requises à l'aide de la commande suivante :
pip install -r requirements.txt
Vous pouvez également les installer individuellement :
pip install httpx==0.24.0
pip install h2==4.1.0
pip install tqdm==4.66.1
pip install xlsxwriter==3.1.6
Cloner le dépôt
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
Créer un environnement virtuel (optionnel mais recommandé)
python3 -m venv venv
source venv/bin/activate
Installer les dépendances
pip install -r requirements.txt
--url : URL à tester (par exemple, https://example.com ou http://example.com)--bulk : Fichier contenant une liste d'URLs à tester--port : Spécifier le port (par défaut 443 pour HTTPS, 80 pour HTTP)--output : Fichier de sortie pour enregistrer les résultats (.csv, .txt ou .xlsx)Tester une URL unique
python3 main.py --url https://example.com
Tester plusieurs URLs à partir d'un fichier
python3 main.py --bulk urls.txt
Spécifier un port personnalisé
python3 main.py --url http://example.com --port 8080
Enregistrer les résultats dans un fichier
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"
}
]
| Horodatage | URL | Prise en charge HTTP/2 | Vulnérable | Détails |
|---|---|---|---|---|
| 2024-12-03 10:00:00 | https://example.com | Yes | VULNERABLE | RST_STREAM sent successfully |
| 2024-12-03 10:00:05 | http://testsite.com | No | SAFE | Downgraded to HTTP/1.1 |
RST_STREAM d'une manière qui suggère qu'il pourrait être vulnérable à CVE-2023-44487. Une vérification manuelle supplémentaire est recommandée.httpx==0.24.0
h2==4.1.0
tqdm==4.66.1
xlsxwriter==3.1.6
En supposant que vous ayez un fichier nommé urls.txt contenant :
https://example.com
http://testsite.com
https://vulnerable-site.com
Commande :
python3 main.py --bulk urls.txt --output results.csv
Exemple 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
Remarque : Remplacez https://vulnerable-site.com par un site réel pour lequel vous avez la permission de tester.
Faites-moi savoir si vous avez besoin d'aide supplémentaire ou de modifications !