@pwnbykennypwnbykenny
دکترای تخصصی یک هکر وب سایت شخصی من: https://pwnbykenny.com
1. محتوا
2. قطعاً می خواهید یک ابزار برای بهره برداری انتخاب کنید
یک ابزار خطی از کد C است: execve (“/ bin / sh”، 0، 0) ؛. ظاهراً ، این کد پوسته ای ایجاد می کند. اگر قادر به یافتن و اجرای آن در حافظه باشید ، پوسته ای بدست می آورید! دیدن؟ آسان و قدرتمند!
خوشبختانه ، این در libc وجود دارد. و از libc در اکثر برنامه ها استفاده می شود! libc یک فایل کتابخانه C است. ابزار one_gadget تمام وقایع کد را در چنین پرونده هایی پیدا می کند.
3. ابزار معروف one_gadget
(سیستم عامل لینوکس) با اجرای ابزار بارگیری کنید: gem install one_gadget. سپس می توانید به راحتی آن را در یک ترمینال اجرا کنید: one_gadget /usr/lib/x86_64-linux-gnu/libc-2.31.so. آرگومان مسیر فایل libc شماست. ممکن است در دستگاه شما تغییر کند. این خروجی زیر را ایجاد می کند:
execve (“/ bin / sh”، r12، r13) یکی از این ابزارها است. قبل از اجرای این ، باید اطمینان حاصل کنید که دو خط محدودیت همه درست / راضی هستند. ابزار تنها اجرا می شود (“/ bin / sh” ، 0 ، 0) فقط در صورت برآورده شدن محدودیت ها. 0xcbcda جبران ابزار در پرونده libc است. برای دانستن آدرس ابزار در حافظه ، باید آدرس اصلی فایل libc را نیز در حافظه بدانید: آدرس حافظه ابزار = پایگاه حافظه فایل libc …