KavLabs
خانهبلاگ
KavLabs

یادداشت‌هایی از ذهن‌های کاوشگر، برای ذهن‌های کنجکاو

پرهام·پرهام·زال·زال·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
نوشته‌هادسته‌بندی‌هاجستجوی پیشرفتهلاگ تغییرات

©۲٬۰۲۶ KavLabs — تمام حقوق محفوظ است

ساخته‌شده با عشق توسط پرهام و زال

واژه‌نامه
۰۴ اسفند ۱۴۰۴انواع حملاتپیشرفتهزبان: فارسی

سرریز بافر(N/A)

پیشرفتهنسخه انگلیسی

آسیب‌پذیری که زمانی رخ می‌دهد داده‌ای بیشتر از ظرفیت بافر نوشته شود و حافظه مجاور را بازنویسی کند.

حافظهتزریقlow-levelc

سرریز بافر چیه؟

خلاصه در یه جمله: وقتی داده‌ای بیشتر از جایی که براش در نظر گرفته شده بنویسی و بره روی داده‌های دیگه!

فرض کن یه فرم داری که فقط ۱۰ تا کاراکتر جا می‌گیره. تو ۲۰ تا کاراکتر می‌نویسی. ۱۰ تای اضافی می‌ریزه روی داده‌های کناری! اگه اون داده‌های کناری مهم باشن (مثل آدرس برگشت تابع)، هکر می‌تونه کنترل برنامه رو بگیره!

چطور کار می‌کنه؟

برنامه‌ای به زبان C داری:

c
1char buffer[10];
2gets(buffer); // کاربر ۵۰ کاراکتر می‌ده!

۴۰ کاراکتر اضافی می‌ریزه روی Stack. اگه هکر دقیق محاسبه کنه، می‌تونه Return Address رو عوض کنه و کد خودش رو اجرا کنه!

چرا برای امنیت مهمه؟

چون Buffer Overflow می‌تونه منجر به Remote Code Execution بشه. هکر کامل کنترل برنامه رو می‌گیره. خیلی از باگ‌های قدیمی این بودن.


منابع و مراجع

  • www.cloudflare.com/learning/security/what-is-a-buffer-overflow-attack
  • owasp.org/www-community/vulnerabilities/Buffer_Overflow