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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2018-18912 — تجاوز سعة المخزن المؤقت القائم على SEH في خادم مشاركة الملفات السهل 7.2، يوضح كيف يمكن لمعامل HTTP POST المُصدَّق أن يفسد سلسلة معالجة الاستثناءات. | Kitploit
أدوات/GitHubGitHub/themalwareguardian/cve-2018-18912
تحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةشيل كوداستغلال تطبيقات الويبمصممي الأخطاءالتعلم والتعليمتطوير الحمولاتاستغلال الملفات الثنائية
GitHubthemalwareguardian/cve-2018-18912

CVE-2018-18912

تجاوز سعة المخزن المؤقت القائم على SEH في خادم مشاركة الملفات السهل 7.2، يوضح كيف يمكن لمعامل HTTP POST المُصدَّق أن يفسد سلسلة معالجة الاستثناءات.

عرض المستودع
12منذ 5 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

🐞 CVE-2018-18912: Easy File Sharing Web Server 7.2 - تجاوز سعة المخزن المؤقت القائم على المكدس (SEH)

تجاوز سعة المخزن المؤقت القائم على SEH في Easy File Sharing Web Server 7.2 يوضح كيف يمكن لمعامل POST HTTP المُوثّق أن يفسد سلسلة معالج الاستثناءات.




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

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



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

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

CVE-2018-18912 هو الحالة التي أستخدمها للانتقال من الكتابة فوق EIP التقليدية إلى الاستغلال القائم على SEH. بمجرد أن يفهم الطلاب كيفية عمل الكتابة المباشرة فوق عنوان الإرجاع، فإن الخطوة التالية هي فهم ما يحدث عندما يكون المكدس فاسدًا لدرجة أن البرنامج يثير استثناءً قبل العودة، وكيف تصبح سلسلة معالجة الاستثناءات هي سطح الهجوم بدلاً من ذلك. يُظهر هذا CVE هذا الانتقال بوضوح: التجاوز عميق بما يكفي للوصول إلى سلسلة SEH، ومسار الاستغلال يتبع التقنية الكلاسيكية POP POP RETN التي يحتاج كل مطور استغلال إلى فهمها. تم ترك تجاوز DEP الاختياري عبر ROP كامتداد للطلاب الذين يرغبون في المضي قدمًا، نفس التجاوز، إستراتيجية أدوات مختلفة، مشكلة أصعب بكثير.




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

تصيب هذه الثغرة Easy File Sharing Web Server 7.2، وهو تطبيق ويب خفيف الوزن على Windows تم استخدامه على نطاق واسع لمشاركة الملفات البسيطة. تمت كتابة البرنامج دون النظر إلى التخفيفات الأمنية الحديثة. ما يجعل هذه الحالة مثيرة للاهتمام بشكل خاص من منظور تعليمي هو مجموعة العوامل المعنية:

  • المصادقة مطلوبة، ولكن فقط على مستوى أساسي. هذا يمثل سيناريو حيث حصل المهاجم على بيانات اعتماد، وهو أمر شائع في مرحلة ما بعد الاستغلال في العالم الحقيقي.
  • التجاوز قائم على SEH. لا يقوم الانهيار بالكتابة مباشرة فوق عنوان الإرجاع. بدلاً من ذلك، فإنه يفسد سلسلة معالج الاستثناءات المنظمة (SEH) على المكدس، مما يتطلب تقنية استغلال مختلفة.
  • النقطة الضعيفة هي طلب POST. من السهل إعادة إنتاجها باستخدام أدوات HTTP القياسية ومألوفة لأي شخص عمل مع تطبيقات الويب.
  • تجاوز DEP اختياري. يعمل الاستغلال بأسلوب SEH مباشر + قفزة قصيرة + شيل كود على الأنظمة التي يكون فيها DEP معطلاً. إذا كان DEP ممكّنًا، فيمكن تمديد نفس التجاوز بسلسلة ROP باستخدام أدوات من ملف ImageLoad.dll لاستدعاء VirtualProtect قبل نقل التحكم إلى الشيل كود.

هذا المزيج يجعل CVE-2018-18912 حالة ممتازة لتعليم تقنيات تطوير الاستغلال تتجاوز الأساسيات.




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

Easy File Sharing Web Server 7.2 هو تطبيق Windows يسمح للمستخدمين بمشاركة الملفات عبر HTTP. يتضمن وظائف مثل تصفح الملفات، مصادقة المستخدم، ونظام منتدى مدمج.

تقبل وظيفة المنتدى طلبات POST لإنشاء مواضيع جديدة. أحد حقول النموذج التي يتعامل معها هذا النقطة هو معامل author. داخليًا، يقوم التطبيق بنسخ هذه القيمة التي يتحكم بها المستخدم إلى مخزن مؤقت ثابت الحجم على المكدس دون التحقق من الطول.

تم اكتشاف الثغرة والإبلاغ عنها في عام 2018. تم نشر الإثبات الأصلي (PoC) بعد ذلك بفترة وجيزة، مما أظهر كلاً من الانهيار وسلسلة استغلال عاملة بما في ذلك أدوات ROP من وحدة ImageLoad.dll المرفقة.

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

  • نوع الثغرة: تجاوز سعة المخزن المؤقت القائم على المكدس (SEH)
  • الإصدار المتأثر: Easy File Sharing Web Server 7.2
  • النقطة الضعيفة: POST /forum.ghp
  • المعامل الضعيف: author
  • التأثير: تنفيذ التعليمات البرمجية عن بُعد



⚠️ حول الثغرة

يقوم Easy File Sharing Web Server بمعالجة طلبات HTTP POST الموجهة إلى /forum.ghp عندما يقوم المستخدم بإنشاء موضوع منتدى جديد. أحد المعاملات المقبولة هو author، والذي يتم نسخه إلى مخزن مؤقت محلي على المكدس دون أي فحص للطول.

عند إجراء الهندسة العكسية للثنائي، يمكن ملاحظة أن معالج حقل النموذج هذا يستخدم مخزنًا مؤقتًا بحجم ثابت وعملية نسخ غير آمنة. يبدو إصدار مبسط من المنطق الضعيف كما يلي:

root@kitploit:~
char author_buffer[64];

strcpy(author_buffer, user_input);

نظرًا لأن المخزن المؤقت الوجهة له حجم ثابت ولم يتم التحقق من طول الإدخال، فإن إرسال سلسلة طويلة بما يكفي في حقل author يتسبب في نسخ البيانات إلى ما بعد نهاية المخزن المؤقت.

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

لذلك يتبع تدفق الاستغلال تقنية الكتابة فوق SEH:

  1. إدخال طويل يكتب فوق المكدس، بما في ذلك مؤشرات nSEH ومعالج SEH.
  2. يتم إثارة استثناء بسبب تلف الذاكرة.
  3. يقوم نظام التشغيل باستدعاء عنوان المعالج الذي تمت الكتابة فوقه.
  4. يتم استخدام أداة POP POP RETN لنقل التنفيذ إلى منطقة nSEH.
  5. قفزة قصيرة للأمام تتجاوز سجل SEH وتوجه التنفيذ إلى منطقة الشيل كود.
  6. يتم تشغيل الشيل كود.

هذا يجعل الثغرة أكثر تعقيدًا في الاستغلال من الكتابة فوق EIP الأساسية، ولكنها أيضًا أكثر تمثيلاً للسيناريوهات الواقعية.




💥 إثارة الانهيار

يمكن إعادة إنتاج الانهيار عن طريق إرسال سلسلة طويلة في معامل author لطلب POST إلى /forum.ghp بعد المصادقة ببيانات اعتماد صالحة. مثال باستخدام Python:

root@kitploit:~
تنزيل الأداة
import socket HOST = '127.0.0.1' PORT = 80 payload = b"A" * 500 request = ( b"POST /forum.ghp?forumid=1 HTTP/1.1\r\n" b"Host: 127.0.0.1\r\n" b"Content-Type: application/x-www-form-urlencoded\r\n" b"Cookie: UserID=test; PassWD=test; SESSIONID=1234\r\n" b"Connection: close\r\n" b"\r\n" b"author=" + payload + b"&passwd=test&title=test&content=test&Submit=Submit\r\n" ) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST, PORT)) s.send(request) s.close()

عند التنفيذ تحت مصحح أخطاء، يظهر الانهيار سلسلة SEH فاسدة وانتهاك وصول، مما يؤكد أن البيانات التي يتحكم بها المستخدم قد كتبت فوق مؤشر معالج الاستثناءات.




💣 الاستغلال

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

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

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

  • اختبار الصلابة لمعامل author لتحديد الانهيار.
  • اكتشاف الإزاحة لتحديد الموقع الدقيق لـ nSEH وSEH على المكدس.
  • تحليل الأحرف السيئة لتحديد البايتات التي تفسد الحمولة.
  • الكتابة فوق سلسلة SEH باستخدام أداة POP POP RETN من وحدة محملة.
  • وضع وتنفيذ الشيل كود.