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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2007-1567 — ثغرة تجاوز سعة المخزن المؤقت القائمة على المكدس الكلاسيكية في War FTP Daemon 1.65 توضح تنفيذ التعليمات البرمجية عن بُعد بالطريقة القديمة عبر أوامر FTP مشوهة. | Kitploit
أدوات/GitHubGitHub/themalwareguardian/cve-2007-1567
تحليل الثغرات الأمنيةالاستغلالشيل كودالتعلم والتعليمأداة الوصول عن بعداستغلال الملفات الثنائية
GitHubthemalwareguardian/cve-2007-1567

CVE-2007-1567

ثغرة تجاوز سعة المخزن المؤقت القائمة على المكدس الكلاسيكية في War FTP Daemon 1.65 توضح تنفيذ التعليمات البرمجية عن بُعد بالطريقة القديمة عبر أوامر FTP مشوهة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

🐞 CVE-2007-1567: خادم FTP War الإصدار 1.65 - تجاوز سعة المخزن المؤقت على المكدس

تجاوز سعة المخزن المؤقت التقليدي على المكدس في خادم FTP War الإصدار 1.65 يوضح تنفيذ التعليمات البرمجية عن بعد بالأسلوب القديم من خلال أوامر FTP غير صالحة.




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

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



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

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

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




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

خادم FTP War الإصدار 1.65 هو خادم FTP قديم لنظام ويندوز من أواخر التسعينيات. الثغرة تكمن في معالج أمر USER، الذي يستخدم الدالة sprintf لنسخ المدخلات التي يتحكم بها المستخدم إلى مخزن مؤقت ذي حجم ثابت على المكدس دون التحقق من طوله. ما يجعل هذه الحالة مفيدة للتدريس:

  • لا يتطلب مصادقة. يحدث التجاوز في معالج أمر USER، قبل التحقق من أي كلمة مرور. أمر واحد كافٍ لإحداث الانهيار.
  • تجاوز مباشر لـ EIP. لا SEH، لا كومة، لا استغلال متعدد المراحل. يتم تجاوز عنوان العودة المحفوظ مباشرة.
  • حرف سيء إضافي. بالإضافة إلى الأحرف السيئة المعتادة \x00, \x0a, \x0d، يقدم بروتوكول FTP الحرف \x40 (@) كحرف سيء لأنه يفسر بناء الجملة user@host. يجب على الطلاب تحديد ذلك أثناء تحليل الأحرف السيئة.
  • يتطلب بيئة ويندوز قديمة. على عكس معظم البرامج القديمة التي أستخدمها للتدريس، لا يمكن تشغيل War FTP Daemon 1.65 على ويندوز الحديثة بسبب تغييرات API Winsock. يتطلب ويندوز XP، مما يضيف تحديًا عمليًا في الإعداد ويعلم الطلاب أن بيئة المختبر مهمة.



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

خادم FTP War هو خادم FTP لنظام ويندوز تمت كتابته أصلاً في أواخر التسعينيات. يستمع على منفذ TCP 21 ويعالج أوامر FTP القياسية. الثغرة تكمن في معالج أمر USER، الذي يعالج اسم المستخدم المرسل من قبل العميل المتصل باستخدام sprintf دون التحقق من الطول.

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

  • نوع الثغرة: تجاوز سعة المخزن المؤقت على المكدس
  • الإصدار المتأثر: War FTP Daemon 1.65
  • النقطة المتأثرة: أمر FTP USER
  • المكون الضعيف: معالج أمر USER
  • المصادقة المطلوبة: لا
  • التأثير: تنفيذ التعليمات البرمجية عن بعد



⚠️ حول الثغرة

يقوم خادم FTP War بمعالجة أمر USER عن طريق تمرير اسم المستخدم المقدم إلى sprintf، الذي ينسخه في مخزن مؤقت ذي حجم ثابت على المكدس دون التحقق من طوله. يبدو إصدار مبسط من المنطق الضعيف كالتالي:

root@kitploit:~
char buffer[256];

sprintf(buffer, "%sCRLF", username);

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




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

يمكن إعادة إنتاج الانهيار عن طريق إرسال وسيطة USER كبيرة الحجم عبر FTP. لا تتطلب مصادقة. مثال باستخدام بايثون:

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 21

payload = b"A" * 700

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.recv(1024)

s.send(b"USER " + payload + b"\r\n")
s.close()

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

root@kitploit:~
EIP = 41414141

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




💣 الاستغلال

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

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

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

  • فازينغ أمر USER لتحديد الانهيار.
  • اكتشاف الإزاحة لتحديد الموقع الدقيق لـ EIP على المكدس.
  • تحليل الأحرف السيئة، بما في ذلك الحرف \x40 الخاص بمعالجة FTP USER.
  • تحديد موقع قطعة JMP ESP في MFC42.dll.
  • وضع شيلكود وتنفيذه.
تنزيل الأداة