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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-38828 — PoC والإصلاح لـ CVE-2024-38828: هجوم رفض الخدمة (DoS) على Spring Framework عبر التلاعب بـ Content-Length في ByteArrayHttpMessageConverter. يتضمن اختبار الحمل، والقياسات (metrics)، ومُحوّل آمن مخصص. | Kitploit
أدوات/GitHubGitHub/funcid/cve-2024-38828
تحليل الثغرات الأمنيةتحليل الكودالاستغلالأمن الويبالتعلم والتعليم
GitHubfuncid/cve-2024-38828

CVE-2024-38828

PoC والإصلاح لـ CVE-2024-38828: هجوم رفض الخدمة (DoS) على Spring Framework عبر التلاعب بـ Content-Length في ByteArrayHttpMessageConverter. يتضمن اختبار الحمل، والقياسات (metrics)، ومُحوّل آمن مخصص.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ثغرة CVE-2024-38828

الوصف

يختبر هذا الاختبار السلوك/الاستجابة في Spring Framework عند وجود ثغرة CVE-2024-38828 وعدمها. في ByteArrayHttpMessageConverter، يتم تخصيص الذاكرة في ByteArrayOutputStream بناءً على عنوان الطلب Content-Length والذي قد لا يتطابق مع الواقع بجسم من 0 بايت. مع الزيادة الحادة في هذه الطلبات (DoS)، يتم استخدام الذاكرة بشكل غير أمثل، وتظهر عمليات تنظيف GC منتظمة ويبدأ التطبيق في التباطؤ. سأشرح كيفية تنفيذ/إصلاح ذلك والمقاييس.

رسوم بيانية للمقاييس

وصف الثغرة

CVE-2024-38828 هي ثغرة من نوع Denial of Service (DoS) في Spring Framework، والتي تسمح للمهاجم بالتسبب في استنزاف الذاكرة على الخادم من خلال وحدة تحكم Spring MVC ذات معامل من نوع byte[].

التفاصيل الفنية

  • الإصدارات المعرضة للخطر: Spring Framework 5.3.x (جميع الإصدارات)
  • نوع الثغرة: Denial of Service (DoS)
  • ناقل الهجوم: طلبات HTTP POST مع Content-Length = 2^31 - 1
  • التأثير: استنزاف ذاكرة الخادم، مما يؤدي إلى رفض الخدمة

الحل

الإصلاح المطبق

  1. تم إنشاء HttpMessageConverter مخصص لمعالجة مصفوفات البايت
  2. تم تنفيذ التحقق من حجم البيانات الواردة
  3. تم استخدام نهج تدفقي لمعالجة الأحمال الكبيرة

الاختبار

هيكل المشروع

root@kitploit:~
.
├── src/
│   └── main/
│       └── java/
│           └── me/
│               └── func/
│                   └── demo/
│                       ├── config/
│                       │   └── WebConfig.java
│                       ├── converter/
│                       │   └── SafeByteArrayHttpMessageConverter.java
│                       ├── controller/
│                       │   └── DemoController.java
│                       └── DemoApplication.java
├── tests/
│   ├── load_test.py
│   └── results/
│       ├── نتائج_الاختبار.png
│       └── metrics.json
└── README.md

معلمات الاختبار

  • عدد الطلبات: 6000
  • الحد الأقصى لعدد الطلبات المتزامنة: 5
  • التأخير بين مجموعات الطلبات: 0.1 ثانية
  • حجم الطلب: 1 بايت
  • عنوان Content-Length: 2^31 - 1 (الحد الأقصى لقيمة int)

كود الاختبار

root@kitploit:~
def send_request(url):
    try:
        response = requests.post(
            url,
            data=b'0',  # الحمولة الدنيا
            headers={
                'Content-Type': 'application/octet-stream',
                'Content-Length': str(2**31 - 1)  # الحجم الأقصى
            }
        )
        return response.status_code, response.text
    except Exception as e:
        return f"خطأ: {str(e)}", None

تشغيل الاختبارات

  1. قم بتثبيت تبعيات Python:
root@kitploit:~
pip install -r requirements.txt
  1. قم بتشغيل الاختبار:
root@kitploit:~
python tests/load_test.py
تنزيل الأداة