Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2020-13768 — تجاوز سعة المخزن المؤقت في المكدس في MiniShare 1.4.1 يمكن الوصول إليه عبر طلب HTTP PUT واحد. | Kitploit
أدوات/GitHubGitHub/themalwareguardian/cve-2020-13768
تحليل الثغرات الأمنيةالاستغلالشيل كودمصممي الأخطاءأمن الويبالاختبار العشوائياختبار الاختراقالتعلم والتعليمتطوير الحمولاتاستغلال الملفات الثنائية
GitHubthemalwareguardian/cve-2020-13768
25منذ 7 أشهرلم تتم المراجعة بعد

CVE-2020-13768

تجاوز سعة المخزن المؤقت في المكدس في MiniShare 1.4.1 يمكن الوصول إليه عبر طلب HTTP PUT واحد.

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

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

🐞 CVE-2020-13768: MiniShare 1.4.1 - تجاوز سعة المخزن المؤقت في المكدس

تجاوز سعة المخزن المؤقت في المكدس في MiniShare 1.4.1 يمكن الوصول إليه عبر طلب HTTP PUT واحد.




📑 جدول المحتويات

  • لماذا يوجد هذا المستودع
  • لماذا هذه الثغرة مثيرة للاهتمام
  • السياق والبرنامج المتأثر
  • حول الثغرة
  • إحداث الانهيار
  • الاستغلال



🎓 لماذا يوجد هذا المستودع

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

CVE-2020-13768 هي حالة أستخدمها عندما أريد إظهار كيف يمكن للخوادم البسيطة التي تواجه الشبكة أن تعرض تجاوزات سعة المخزن المؤقت التقليدية في المكدس من خلال طرق البروتوكول القياسية. لا تتطلب النقطة الضعيفة أي مصادقة، والتجاوز هو كتابة مباشرة على EIP، ومسار الاستغلال نظيف ومحدد جيدًا. إنها حالة مثالية لتعلم منهجية الاستغلال الكاملة في سيناريو بعيد غير مصادق عليه واقعي.

ما يجعل هذه الحالة مثيرة للاهتمام أيضًا كتمرين تعليمي هو أن نفس السبب الجذري، وهو إدخال غير معقم يتم نسخه إلى مخزن مؤقت ثابت الحجم في المكدس، يظهر عبر إدخالات CVE متعددة لنفس البرنامج الثنائي. تصف CVE-2018-19861 وCVE-2018-19862 وCVE-2019-17601 نفس الفئة من الثغرات، تم الإبلاغ عنها من قبل باحثين مختلفين عبر طرق أو نقاط نهاية HTTP مختلفة. هذا يعلم الطلاب النظر إلى الأسباب الجذرية بدلاً من أرقام CVE فقط.




💡 لماذا هذه الثغرة مثيرة للاهتمام

تؤثر هذه الثغرة على MiniShare 1.4.1، وهو خادم HTTP خفيف الوزن لنظام Windows تم إيقافه، مصمم لمشاركة الملفات المحلية البسيطة. تمت كتابة البرنامج دون وضع الممارسات الأمنية الحديثة في الاعتبار. ما يجعل هذه الحالة مثيرة للاهتمام بشكل خاص من منظور تعليمي هو مجموعة العوامل المتضمنة:

  • لا تتطلب مصادقة. تتم معالجة طريقة HTTP PUT دون أي فحص لبيانات الاعتماد. يمكن لأي مهاجم بعيد على الشبكة تفعيل الثغرة بطلب واحد مصمم.
  • طريقة بروتوكول قياسية كمتجه هجوم. يتم تفعيل التجاوز من خلال طلب HTTP PUT — وليس بروتوكولًا مخصصًا أو أمرًا غامضًا. هذا يوضح كيف يمكن لطرق البروتوكول القياسية المعروفة أن تحمل حمولات استغلال بنفس فعالية الواجهات الخاصة.
  • كتابة مباشرة على EIP. يصل التجاوز إلى عنوان الإرجاع المحفوظ ويكتب فوقه مباشرة، مما يجعل هذا تجاوز سعة مخزن مؤقت نصي كلاسيكي بدون سلسلة SEH.
  • CVE متعددة، نفس البرنامج الثنائي. تصف CVE-2018-19861 وCVE-2018-19862 وCVE-2019-17601 نفس فئة الثغرة في نفس البرنامج. تم تخصيص إدخالات CVE مختلفة لأن باحثين مختلفين أبلغوا عن طرق HTTP أو نقاط نهاية مختلفة، ولكن عند عكس البرنامج الثنائي يتضح أنهم جميعًا يشتركون في نفس السبب الجذري، وهو إدخال غير معقم يتم نسخه إلى مخزن مؤقت ثابت الحجم في المكدس دون التحقق من الطول.

هذا المزيج يجعل CVE-2020-13768 حالة ممتازة لتعليم أساسيات استغلال تجاوز سعة المخزن المؤقت القائم على الشبكة في سيناريو بعيد غير مصادق عليه واقعي.




🔍 السياق والبرنامج المتأثر

MiniShare هو خادم HTTP ضئيل لنظام Windows مصمم أصلاً لمشاركة الملفات المحلية السريعة عبر شبكة LAN. يستمع على منفذ TCP 80 ويتعامل مع مجموعة فرعية صغيرة من طرق HTTP بما في ذلك GET و PUT. يعالج معالج PUT الطلبات الواردة وينسخ مسار URI إلى مخزن مؤقت ثابت الحجم في المكدس دون التحقق من طوله.

التفاصيل التقنية الرئيسية:

  • نوع الثغرة: تجاوز سعة المخزن المؤقت في المكدس
  • الإصدار المتأثر: MiniShare 1.4.1 والإصدارات الأقدم
  • نقطة النهاية المتأثرة: طلب HTTP PUT
  • المكون الضعيف: معالجة مسار URI في معالج PUT
  • المصادقة المطلوبة: لا
  • التأثير: تنفيذ تعليمات برمجية عن بعد



⚠️ حول الثغرة

يعالج MiniShare طلبات HTTP الواردة ويوزعها على المعالج المناسب بناءً على الطريقة. يستخرج معالج PUT مسار URI من الطلب وينسخه إلى مخزن مؤقت ثابت الحجم في المكدس دون التحقق من طوله.

تبدو نسخة مبسطة من المنطق الضعيف كما يلي:

char path_buffer[256];

strcpy(path_buffer, uri_path);

نظرًا لأن المخزن المؤقت الوجهة له حجم ثابت وأن طول الإدخال غير مُتحقق منه، فإن إرسال URI طويل بما فيه الكفاية في طلب PUT يتسبب في كتابة النسخة بعد نهاية المخزن المؤقت، لتصل في النهاية إلى عنوان الإرجاع المحفوظ (EIP) على المكدس وتكتب فوقه.

عندما تعود الدالة الضعيفة، يقوم المعالج المركزي بتحميل القيمة التي يتحكم فيها المهاجم من المكدس إلى EIP ويقفز إليها. إذا كان هذا العنوان يشير إلى بيانات يتحكم فيها المهاجم تحتوي على كود شيل، يتم تحقيق تنفيذ تعليمات برمجية عشوائية.




💥 إحداث الانهيار

يمكن إعادة إنتاج الانهيار عن طريق إرسال URI كبير الحجم في طلب HTTP PUT. لا تتطلب أي مصادقة. مثال باستخدام Python:

import socket

HOST = '127.0.0.1'
PORT = 80

payload = b"A" * 3000

request = (
	b"PUT /" + payload + b" HTTP/1.1\r\n"
	b"Host: 127.0.0.1\r\n"
	b"Connection: close\r\n"
	b"\r\n"
)

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send(request)
s.close()

عند التنفيذ تحت مصحح أخطاء، يظهر الانهيار أن EIP قد تمت كتابته ببيانات يتحكم فيها المستخدم:

EIP = 41414141

مما يؤكد أن عنوان الإرجاع المحفوظ قد تم إتلافه بسبب التجاوز.




💣 الاستغلال

الهدف من هذا المستودع ليس فقط إظهار الانهيار، بل أيضًا السير خلال عملية الاستغلال الكاملة خطوة بخطوة، باتباع المنهجية المستخدمة عند تطوير استغلالات حقيقية قائمة على المكدس.

للحفاظ على README الرئيسي نظيفًا، تم وضع الملاحظات التفصيلية حول الاستغلال والسيناريوهات وخطوات مصحح الأخطاء داخل مجلد Vulnerability 📂 في هذا المستودع.

هناك ستجد سير العمل الكامل المستخدم لاستغلال هذه CVE، بما في ذلك:

  • فحص URI الخاص بـ PUT لتحديد الانهيار.
  • اكتشاف الإزاحة لتحديد الموقع الدقيق لـ EIP على المكدس.
  • تحليل الأحرف السيئة لتحديد البايتات التي تفسد الحمولة.
  • تحديد أداة JMP ESP من وحدة محملة بدون ASLR.
  • وضع كود الشيل وتنفيذه.
تنزيل الأداة