discord icon
سرور دیسکورد گاردایران
Reza.Black

جدول آفست عمومی (GOT)

پست های پیشنهاد شده

به نام خدای بزرگ

با سلام

برنامه ها این اجازه رو دارن که مرتبا از یک تابع موجود در یک کتابخونه ی اشتراکی استفاده کنن.

اینجا احتیاج به یک جدول وجود داره برای اشاره به توابع.

در برنامه های کامپایل شده بخش مخصوصی به نام جدول پیوند رویه یا به طور خلاصه PLT وجود داره.

که حاوی چند آدرس پرش با آدرس متناظر به تابع هستن و اگه نیاز باشه که یک تابع اشتراکی فراخوانی بشه

اول کنترل بر روی جدول PLT قرار می گیره و بعدش تابع فراخوانی میشه.

ما یک برنامه دارای آسیب پذیری رشته فرمت داریم می تونیم اون رو با objdump دیزاسمبل کنیم و دستورات پرش رو بررسی کنیم.

 

Capture1.PNG.c55b7e440368073eb0f29f750d36af72.PNG

 

Capture2.PNG.4be5943f76cc5c2ac00236f06c610d16.PNG

 

اگه دقت کرده باشید یکی از موارد مربوط به تابع exit هست. اگه بتونیم دستور پرش متناظر با اون رو دستکاری کنیم.

که روند اجرا به جای تابع exit به شل کد ما هدایت بشه ما عملا صاحب یک کد مولد پوسته ی ریشه خواهیم شد.

بخش PLT رو بیشتر بررسی می کنیم تا به خاصیت ها پی ببریم.

 

Capture3.PNG.3fdd0dd59b21ce6beb5ac16d574f2539.PNG

 

همونطور که می بینید خاصیت READONLY در جدول فعال هست و این ممکنه که کار ما رو سخت کنه برای جاینویسی

ولی اگه باز هم در خروجی اول دقت کنید دستورات پرش مستقیما بر روی آدرس ها کار نمی کنن بلکه به اشاره گرهایی از اون آدرس ها عمل می کنن.

این آدرس ها در بخش دیگری به نام جدول آفست عمومی یا global offset table یا به طور اختصار GOT قرار می گیرن.

که فقط خوندنی هم نیستن و برای یافتن آدرس ها و نام توابع می تونیم از نمایش جابجایی پویای موارد برای باینری در objdump استفاده کنیم.

 

Capture4.PNG.267c9494d5ff685e5680e1fd640820af.PNG

 

منبع : کتاب هنر اکسپلویت نویسی ویرایش دوم

 

fmt_vuln.rar

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری