بسم الله الرحمن الرحيم
الحمد لله رب العالمين والصلاة والسلام على أشرف المرسلين سيدنا محمد وعلى آله وصحبه ومن تبعهم بإحسان إلى يوم الدين.
اليوم راح نتكلم عن هجوم Fastbin Dup
حسابي في التويتر هنا
المتطلبات
فهم أساسيات لغة C و Assembly
فهم Memory Management
معرفة أبسط الاشياء في الHeap ولديك معرفة في Stack Overflow
البداية
ماهو الGlibc ؟
يرمز Glibc الى GNU C Library هي المكتبات الأساسية لنظام GNU system و GNU/Linux systems وداخلها العديد من الfunctions مثل printf و write و read و open و العديد من الالfunctions و أيضاً GLIBC هي open source يمكنك الاطلاع على source code او الكود المصدري الخاص بها من هنا وتم تطويرها من قبل 30 سنة.
ماهو الHeap ؟
هي مكان في الذاكرة أو الMemory مخصصة لكل برنامج على عكس الStack الHeap ديناميكي هذا يعني يمكن “‘طلب“ و “تحرير“ الذاكرة متى مأ اراد المستخدم ذلك ويتعامل مع الPointers ومع Memory Allocators ويمكن أن يكون هناك أكثر من heap في نفس الوقت.
Memory Allocators
ماهي malloc function ؟
هي GLIBC memory allocator وتستخدم لطلب قطع (Chunks) في الHeap.
malloc description
التعامل معها بسيط فقط تستدعيها وتعطيها حجم القطعة التي تود حجزها في الHeap هكذا malloc(0x90)