█ _ 0 حصريا كتاب Stack Buffer Overflow 2024 Overflow: هذا أول درس عن اكتشاف الثغرات قمت بتبسيط الموضوع لأقصى حد ممكن مع شرح الأساسيات اللازمة لاكتشاف استثمار هذه الثغرة مقدمة: In software, a stack buffer overflow or overrun occurs when program writes to memory address on the program's call outside of intended data structure, which is usually fixed length [1][2] bugs are caused more located than what actually allocated for that This almost always results in corruption adjacent stack, and cases where was triggered by mistake, will often cause crash operate incorrectly type general programming malfunction known as (or overrun) [1] Overfilling likely derail execution overfilling heap because contains return addresses all active function calls } : K لب المترجمات تقوم بتوليد الكود التالي بداية كل دا åwٔ MyProc: push ebp mov ebp, esp Passing Parameters Using The تعمامامامال الملململمكدس M سN ر ا لبارامترترترترات u 2 تمتمتمتمر 1 يمكن تدعية الحا المس اç: لال ضعها إطار المكدس التابع وال من رامترات N تمر Ì تعمال يمكن اس تدعية ا شير إلى مكدس ² ي هو بدوره c EBP ل® بر 7 الوصول البارامترات الممررة ال: â م void MyProc(int a, int b, c) { } int main() { MyProc(10,20,30); } كالتالي: MyProc اء تد كون اس u push 30 push 20 push 10 call MyProc : شكل بعد اس عنوان الرجوع (10) 0000000Ah (20) 00000014h (30) 0000001Eh Stack ض مخمخمخمخزن % ف ASSEMBLY IS POWER Page 4 EBP ESP 20 ت G ن البيا اتجاه تخز ESP+14 4 ESP+10 8 تأليف: Z3r0n3 كتب لغة التجميع أسمبلي مجاناً PDF اونلاين هي أي برمجة منخفضة المستوى يوجد بها تطابق قوي جدًا بين التعليمات المستخدمة اللغة وتعليمات الآلة الخاصة بمعمارية الحاسوب نظرًا لأن يعتمد تعليمات فقد تم تصميم تجميع لمعمارية كمبيوتر محددة واحدة بالضبط قد تسمى أيضًا رمز الرمزي يتم تحويل إلى آلة قابلة للتنفيذ بواسطة البرنامج المساعد المشار إليه بإسم المُجمع يشار عملية التحويل كما الحال الشيفرة المصدرية عادةً ما تحتوي جملة لكل تعليمه للآلة (1:1) ولكن التعليقات والجمل توجيهات للمُجمِّع ماكرو وغالبًا يتم دعم التسميات الرمزية لمواقع البرامج والذاكرة