مرحبا بك مرة أخرى في Sherlock's Vulnerability Spotlight ، حيث نسلط الضوء على ثغرة أمنية مؤثرة تم اكتشافها أثناء تدقيق Sherlock. هذا الأسبوع ، ندرس حرمان الخدمة الذي تم العثور عليه في مسابقة @GMX_IO من قبل @0xdeadbeef____ و @IllIllI000. الفضل في @int0x1catedCode للانهيار.
ملخص الثغرة الأمنية: تسمح الثغرة الأمنية للمهاجم بمعالجة تدفق تنفيذ الأوامر من خلال توفير أطوال سبب إرجاع مزيفة لا تتطابق مع البيانات الفعلية. يؤدي هذا إلى معالجة أخطاء البروتوكول لقراءة مناطق الذاكرة غير الصحيحة، مما قد يؤدي إلى تعطيل عملية التنفيذ أو التسبب في سلوك غير متوقع عند معالجة الأوامر الفاشلة.
خطوات الهجوم: 1. مرحلة الإعداد نشر عقد ضار ينفذ سلوك إرجاع مخصص يجب أن يكون العقد الضار قابلا للاستدعاء بواسطة البروتوكول المستهدف (على سبيل المثال، كمعالج معاودة الاتصال). 2. صياغة بيانات الرجوع الضارة هيكل إرجاع البيانات باستخدام معلمة طول مزورة. 3. تنفيذ الطلب من خلال البروتوكول إنشاء أمر يؤدي إلى التفاعل مع العقد الضار عندما يعالج البروتوكول الطلب ويستدعي العقد الضار ، فإنه يعود مع البيانات التي تم إنشاؤها. يحاول التعامل مع أخطاء البروتوكول فك تشفير سبب الرجوع باستخدام الطول المزيف. 4. الزناد ذاكرة قراءة الفائض يقرأ البروتوكول الذاكرة بناء على معلمة الطول المزيفة هذا يتسبب في قراءته خارج حدود بيانات الرجوع الفعلية.
ما هو التأثير؟ رفض الخدمة: يمكن أن تفشل الأوامر في التنفيذ بشكل صحيح ، مما يمنع عمليات البروتوكول المشروعة مثل تصفية المراكز السيئة تعطيل تنفيذ الأوامر: يمكن إيقاف معالجة الأوامر المجمعة، مما يؤثر على عدة مستخدمين حزن الغاز: يمكن أن تستهلك معالجة بيانات الرجوع المشوهة غازا زائدا
السبب الجذري: 1. معلمات الطول غير المحددة: يثق البروتوكول في قيمة الطول المتوفرة في بيانات الرجوع دون التحقق من الصحة 2. فحوصات الحدود المفقودة: لا يوجد تحقق من أن الطول المطالب به يطابق حجم البيانات الفعلي
التخفيف: 1. تحقق دائما من صحة إعادة طول البيانات 2. تنفيذ حدود الطول القصوى
نحن فخورون بمساعدتنا في تأمين @GMX_IO من خلال هذا الاكتشاف. عندما يحتاج الأمر إلى أن يكون آمنا ، فإن شيرلوك هو الخيار الصحيح.
‏‎2.33‏K