:: vBspiders Professional Network ::

:: vBspiders Professional Network :: (http://www.vbspiders.com/vb/index.php)
-   Buffer OverFlow (http://www.vbspiders.com/vb/f316.html)
-   -   كيفية تخطي مشكلة 0x00 في ثغرة stack البسيطة (http://www.vbspiders.com/vb/t49936.html)

JetLi 06-24-2011 05:22 PM

كيفية تخطي مشكلة 0x00 في ثغرة stack البسيطة
 
السلام عليكم
جمعة مباركة،
في محاولتنا لتنفيذ البرنامج التالي
#include<stdio.h>
int main()
{char x[50];
printf("Enter any thing \n");
scanf("%s",x);
return 0;
}

سنجد لتطبيق الثغرة تواجهنا مشكلة ادخال 0x00 طيب في هذه الحالة لا يجب انيأس او نقول ان الثغرة صعبة الاستغلال او غير ممكنة ، ولكن ستقيدنا نوعا ما لذلك انه لا نستطيع ان نضيف اي حرف بعد عنوان الرجوع الذي سندخله في اخر كود الاستغلال اي ان شكل الاستغلال كالآتي
nops......shellcode... return addrs
سندخل بيانات (حرف a ) كمثال حتى يحدث الخطأ ولكن لاحظ اضافة بدقة ويجب ان نراقب رقم EIP حتى يصبح 0x41414141 دون زيادة او نقصان لنقل انه يحدث ذلك بعد اضافة 75 حرف (هذا رقم تخميني للشرح) ننقص حرف واحد فقط يصبح لحدينا حجم الاستغلال 74 لماذا نقصنا حرف لسبب بسيط ان عنوان الرجوع اصلا يحتوي على 0x00 في آخره لماذا نتعب مرة اخرى لكي نكتب شيء موجود؟ ما علينا الأن لدي ثلاثة بايتات من العنوان لاكتبها ، نأتي الان لاستخدام برنامج آخر وهو ollydbg سننفذ البرنامج خطوة خطوة ونراقب الstack وجدنا ان اول ادخال لحروف a يبدأ مثلا من العنوان 0x0022FC60
اذن سيكون عنوان الرجوع كالأتي 0x60 0xFC 0x22 بالترتيب من اليسار إلى اليمين ، نفتح محرر الهكس نضيف عدد 74-3 =71 حرف 0x90 او nops ثم نضيف العنوان الذي سبق ذكره ونحفظ الملف ،
نفتح الملف الأن ثم نشغل البرنامج ctrl+c من الملف إلى البرنامج ctrl+v ثم ENTER لا تنسى تشغيل البرنامج باستخدام المنقح ollydbg ستجد ان التنفيذ اصبح داخل stack وان الاكواد جميعها nops ، الخطوة الاخيرة هي البحث عن شيل كود ذو حجم مناسب واضافته للملف ليحل محل الNops ،
اتمنى ان تبدوا ملاحظاتكم واستفساراتكم على الموضوع

bleu moon 06-24-2011 08:17 PM

ههه ايوا بتتخطى يا مورفوس لوول

JetLi 06-24-2011 08:29 PM

انا قصدي في الادخال اليدوي معروف ان scanf ("%s"); تأخذ النص حتى تجد رمز النهاية 0x00 فهذه مشكلة اذا اردت ان ادخل عنوان رجوع مباشر؟

Black light 06-27-2011 11:06 PM

بارك الله فيك تم اسفادتي هـ‘ع

JetLi 06-28-2011 08:02 PM

الحمد لله ان افدت احدهم

machax 06-25-2014 08:17 PM

رد: كيفية تخطي مشكلة 0x00 في ثغرة stack البسيطة
 
شكرا جزيلا


الساعة الآن 06:21 AM


[ vBspiders.Com Network ]


SEO by vBSEO 3.6.0