
أداة اختبار شاملة بلغة Python لثغرة 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 (عالية)
الأثر: حجب الخدمة، استنزاف الموارد
h2: pip install h2git clone https://github.com/madhusudhan-in/CVE_2023_44487-Rapid_Reset.git
cd CVE_2023_44487-Rapid_Reset
pip install h2
chmod +x *.py
python3 --version # Should be 3.7+
cve_2023_44487_verifier_enhanced.pyالغرض: اكتشاف إشارات الإنفاذ للتحقق بعد تطبيق التصحيح وفحص الامتثال
# Basic verification
python3 cve_2023_44487_verifier_enhanced.py target.com
# Multiple concurrent connections
python3 cve_2023_44487_verifier_enhanced.py target.com -c 5 -s 500
# Verbose output with debugging
python3 cve_2023_44487_verifier_enhanced.py target.com -v -c 3 -s 1000
# Baseline test only (normal requests)
python3 cve_2023_44487_verifier_enhanced.py target.com --baseline-only
| الخيار | الوصف | الافتراضي |
|---|---|---|
host | اسم المضيف الهدف (مطلوب) | - |
-p, --port | المنفذ الهدف | 443 |
--no-ssl | تعطيل SSL/TLS | False (SSL مفعّل) |
-s, --streams | عدد التدفقات لكل اتصال | 1000 |
-d, --delay | التأخير بين عمليات التدفق (بالثواني) | 0.001 |
-c, --connections | عدد الاتصالات المتزامنة | 1 |
--baseline-only | إجراء اختبار خط الأساس فقط (بدون هجوم) | False |
-v, --verbose | مخرجات مفصّلة / تصحيح الأخطاء | False |
يقدّم البرنامج حكمًا ذكيًا استنادًا إلى إشارات إنفاذ متوافقة مع RFC 9113:
Server sends GOAWAY with ENHANCE_YOUR_CALM (0xb) error code
Classification: NOT VULNERABLE — protocol-layer enforcement is active
Meaning: HTTP/2 implementation has proper rate-limiting controls
50%+ of connections terminated via TCP reset
Classification: LIKELY PROTECTED — verify with edge/infrastructure team
Meaning: Edge appliance or DDoS protection engaged at transport layer
Per-second reset rate drops significantly over time (late buckets <60% of early)
Classification: PARTIAL PROTECTION — confirm with infrastructure team
Meaning: Server or edge slowing the attack adaptively
Server sends REFUSED_STREAM (0x7) responses
Classification: PARTIAL PROTECTION — review rate limits
Meaning: Some stream-level rate-limiting in place
No ENHANCE_YOUR_CALM GOAWAY, no TCP resets, no throttling detected
Classification: VECTOR EXERCISABLE — exploitability unconfirmed
Important: This doesn't prove DoS exploitability. Edge volumetric/behavioral
protections (Akamai, CloudFlare) may engage at higher scales
============================================================
ENFORCEMENT SIGNAL ANALYSIS
============================================================
Server SETTINGS (initial frame):
HEADER_TABLE_SIZE = 4096
ENABLE_PUSH = True
MAX_CONCURRENT_STREAMS = 128
INITIAL_WINDOW_SIZE = 65535
MAX_FRAME_SIZE = 16384
→ MAX_CONCURRENT_STREAMS=128 is conservative (good post-CVE default)
GOAWAY breakdown across connections:
ENHANCE_YOUR_CALM (0xb): 3/5
Other GOAWAY codes: 1/5
No GOAWAY received: 1/5
TCP reset (RST at transport): 0/5
Total RST_STREAM frames from server: 2
REFUSED_STREAM frames from server: 0
Connections showing adaptive throttling: 1/5
============================================================
VERDICT
============================================================
✅ ENFORCEMENT CONFIRMED
3/5 connection(s) received GOAWAY with ENHANCE_YOUR_CALM (0xb).
This is the canonical signal that the CVE-2023-44487 mitigation is active.
Classification: NOT VULNERABLE — protocol-layer enforcement is engaged.
# Verify patch deployment with 10 connections, 500 streams each
python3 cve_2023_44487_verifier_enhanced.py prod-api.example.com \
-c 10 \
-s 500 \
-d 0.0001 \
-v
# Test non-standard HTTPS port
python3 cve_2023_44487_verifier_enhanced.py example.com \
-p 8443 \
-c 5 \
-s 1000
# Minimal load compliance test
python3 cve_2023_44487_verifier_enhanced.py example.com \
-c 3 \
-s 200 \
--baseline-only
ENHANCE_YOUR_CALM (رمز الخطأ 0xb):
REFUSED_STREAM (رمز الخطأ 0x7):
تحليل معدل إعادة التعيين لكل ثانية:
إعادة تعيين TCP على طبقة النقل:
| سبب الإغلاق | المعنى |
|---|---|
goaway_enhance_your_calm | استلام GOAWAY برمز 0xb (أفضل مؤشر على إصلاح الثغرة) |
goaway_* | GOAWAY مع رمز خطأ آخر |
tcp_reset | استلام TCP RST (تدخل على مستوى الحافة) |
broken_pipe / recv_error | خطأ في الاتصال أثناء التواصل |
eof_no_goaway | نهاية ملف (EOF) غير متوقعة بدون GOAWAY |
no_close_no_enforcement | بقي الاتصال مفتوحًا (لم يُكتشف أي إنفاذ) |
import asyncio
import subprocess