-------------------------------------------------------------------------------------------------------- &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
السلام عليكم ورحمه الله وبركاته
ساقدم اليوم سلسه من الدروس التى تخص الbuffer overflow وهى كالاتى:
1- مفهوم العام للbuffer overflow
2- مفهوم الstack overflow
3- مفهوم الheap overflow
4- مفهوم الinteger overflow
5- مفهوم الshell code
6- كيف تكتشف ثغرات الOver Flow ?
7- كيف تكتشف ثغرات الDOs ?
اليوم ساقوم بشرح اول جزئيه وهكذا كل يوم لحد اما اخلص السلسه ديه ونبدا فى سلسه جديده
ان شاء الله والله الموفق....
بصراحه احترت ازاى هاشرح الموضوع فقررت اخليه على هيئه سوال وجواب فهل ده هيريحكم
ولا فياريت لو فى اى عقبه وقفت قصادك قولها ...
ما هو الBuFFer OverFlOw ?
الBuffer عموما يعنى فيض فى متغير كيف يعنى ؟ هاقولك اصبر عليا :)
شرح الصوره ...
وضعنا متغير باى قيمه ولتكن 10 انتبه !!!
نحن لم نقم بغلق المتغير وهنا تكمن المصيبه !!!
فى هذا الفراغ يمكن كتابه اى شى بيه وليكن حرف الA باى قيمه وباى عدد!!
اعتقد انك اكيد عرفت حل الBuFFer OverFlOw فى عددت سطور وفهمت ميكانيكت عمله
من الخارج . دعنا نلقى نظره على الداخل!!
كيف يحدث الBuFFer OverFlOw فى الداخل ؟
والمقصود بالداخل اى داخل البرنامج .
هيا نشاهد ماذا يفعل ؟!!
هذه الصوره من داخل البرنامج..

1- بدايه راس البرنامج >نقطه البدايه<
2- امر رجوع لبدايه راس البرنامج >رجوع للبرنامج<
3- متغير المفتوح = 10 وطبعا الفراغ لانه مفتوح..
حينما يقوم المكتشف بادخال عدد اكبر من الحد المسوح للمتغير مثلا 90 وهو ما يسمى
الفيض او الBuFFer ..
سيقوم بالكتابه على امر رجوع البرنامج ومن هنا ياتى BuFFer OverFlOw نشوف الصوره
ومن هنا ايضا نقوم بحقن المتغير بالSHell Code لنقوم بتنفيذ بافعال شريره :D وطبعا البرنامج
هيحصل ليه crash يعنى هيبوظ والعمل ؟!! نقوم بمعرفت امر روجع لراس البرنامج ثم نضيفه
بعد الSHell cOde ليقوم بالرجوع لراس البرنامج ولا يحدث كراش للبرنامج لا تقلق شوف الصور ;)
قبل ان نضيف امر الرجوع ولكن احنا ضفنا الSHellCode وطبعا كتب على امر الرجوع

بعد اضافت الSHellCode واضافت امر رجوع البرنامج والبرنامج سيعمل جيدا باذن الله..

كيف نحمى انفسنا من الBuFFer OverFlOw ?
الجواب من الصور سنقوم بغلق المتغير واعلم ان المبرمجين لهم اعذارهم يقموا بكتابت
7000 سطر للبرنامج اعتقد انه لن يخلى من الاخطاء وان كلمه الانسان جاءت من كلمه نسيان..

اى سوال انا حاضر .>>>>.....
تم الجزء الاول بحمد لله