
يحتوي هذا المستودع على سكريبت بايثون مصمم لاستغلال ثغرة CVE-2024-50379، وهي ثغرة تسمح للمهاجمين برفع شِل JSP إلى خادم ضعيف وتنفيذ أوامر عشوائية عن بُعد. يكون هذا الاستغلال مفيدًا بشكل خاص عندما يكون دليل /uploads غير محمي أو غير موجود على الخادم المستهدف.
يحتوي هذا المستودع على سكربت بايثون مصمم لاستغلال CVE-2024-50379، وهي ثغرة أمنية تسمح للمهاجمين برفع شل JSP إلى خادم ضعيف وتنفيذ أوامر عشوائية عن بُعد. هذا الاستغلال مفيد بشكل خاص عندما يكون دليل /uploads إما غير محمي أو مفقودًا على الخادم المستهدف.
CVE-2024-50379 هي ثغرة أمنية تؤثر على الخوادم التي تتعامل مع رفع الملفات بشكل غير صحيح، مما يتيح للمهاجم رفع شل JSP. يمكن استخدام هذا الشل بعد ذلك لتنفيذ أوامر عشوائية عن بُعد. يقوم سكربت بايثون المقدم بأتمتة هذه العملية عن طريق رفع الشل إلى خادم ضعيف والسماح بالتفاعل مع الخادم من خلال واجهة سطر أوامر.
قبل تشغيل السكربت، تأكد من توفر ما يلي:
Python 3.6+ (موصى به)
مكتبة requests. قم بتثبيتها باستخدام pip:
pip install requests
يستهدف الاستغلال الأنظمة التي تعمل على Apache Tomcat أو خوادم مشابهة تفشل في تأمين وظيفة رفع الملفات بشكل صحيح أو تحتوي على أدلة مهيأة بشكل خاطئ.
/uploadsهام: يجب استخدام هذه الأداة فقط في بيئات خاضعة للرقابة مثل اختبارات الاختراق بإذن أو للأغراض التعليمية. الاستخدام غير المصرح به لهذه الأداة قد يكون غير قانوني وغير أخلاقي.
http:// إلى عناوين URL التي لا تحتوي على بروتوكول./uploads: إذا لم يتم العثور على دليل /uploads، تستمر الأداة في محاولة رفع الشل.قم باستنساخ المستودع إلى جهازك المحلي:
git clone https://github.com/dragonked2/CVE-2024-50379-POC.git
cd CVE-2024-50379-POC
تأكد من تثبيت مكتبات بايثون المطلوبة:
pip install requests
قم بتشغيل السكربت باستخدام الأمر التالي:
python exploit_cve_2024_50379.py
سيطلب منك السكربت إدخال عنوان URL الأساسي للخادم الضعيف (مثل http://localhost:8080). إذا كان عنوان URL لا يتضمن http:// أو https://، فسيقوم بإضافة http:// تلقائيًا.
بمجرد رفع شل JSP بنجاح، يمكنك إدخال أوامر بشكل تفاعلي لتنفيذها على الخادم. سيعرض السكربت الناتج.
مثال على التفاعل:
[+] Enter the base URL (e.g., localhost:8080): http://127.0.0.1:8080
[+] Checking server accessibility...
[+] /uploads directory not found (404), but continuing with upload attempt...
[+] Attempting to upload shell (Attempt 1/3)...
[+] Shell uploaded successfully! Check the URL: http://127.0.0.1:8080/uploads/shell.jsp
[+] Enter the command to execute on the server (or 'exit' to quit): whoami
[+] Executing command: whoami
[+] Command output:
root
اكتب exit للخروج من الأداة بعد الانتهاء من التفاعلات.
تتضمن الأداة معالجة قوية للأخطاء للمشاكل الشائعة مثل:
سيتم إعادة محاولة العمليات الفاشلة تلقائيًا حتى ثلاث مرات مع تأخير لمدة ثانيتين بين المحاولات. إذا فشلت العملية بعد إعادة المحاولات، سيتم عرض رسالة خطأ.
المساهمات مرحب بها! إذا وجدت أخطاء أو لديك اقتراحات للتحسين، فلا تتردد في فتح مشكلة (issue) أو تقديم طلب سحب (pull request).
هذه الأداة مخصصة للأغراض التعليمية واختبارات الاختراق فقط. لا تستخدم هذه الأداة على أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها. الاستخدام غير المصرح به غير قانوني ويمكن أن يؤدي إلى تهم جنائية.
هذا المشروع مرخص بموجب رخصة MIT. راجع ملف LICENSE للحصول على التفاصيل.