

@pwnbykennypwnbykenny
دکترای تخصصی یک هکر وب سایت شخصی من: https://pwnbykenny.com
1. مطالب
2. ROP چیست؟
یک ابزار دنباله ای از کد اسمبلی است که با دستورالعمل پرش به پایان می رسد ، به عنوان مثال ، “pop rax؛ ret؛ ”. دستورالعمل های پرش شامل “ret” ، “jmp” ، “call” و غیره است. اگر از آخرین دستورالعمل پرش هر ابزار برای اجرای تک تک بسیاری از ابزارها استفاده می کنید ، این برنامه نویسی بازگشت گرا (ROP) است: gadget1 – (jump) gadget2 – (پرش) gadget3 – (پرش) ad ابزارها به طور گسترده ای در باینری قابل اجرا قابل اجرا هستند. شما باید باینری اجرایی را اسکن کنید ، ابزارهای آن را پیدا کنید ، برای اجرای برخی از ابزارهای مفید از یک آسیب پذیری سو explo استفاده کنید و در نهایت حمله خود را به پایان برسانید.
3. یک حمله ROP واقعی را اجرا کنید!
پرونده های لازم را از اینجا بارگیری کنید. bug باینری قابل اجرا است. exploit_gen.c یک پرونده داده باینری به نام “بهره برداری” ایجاد می کند. پرونده داده ورودی اشکال است. exploit_gen.c ممکن است نتواند از اشکال دستگاه شما سو استفاده کند. مراحل را در بخش بعدی دنبال کنید. آزمایشات خود را انجام دهید و exploit_gen.c را اصلاح کنید.
در اینجا کد منبع اشکال وجود دارد:

در fun function ، هرچه در پرونده f است را در بافر بافر تا انتهای پرونده می نویسیم. این قطعاً یک اشکال سرریز پشته است.
در اینجا نحوه سو we استفاده از این اشکال آورده شده است: اول ، ما گجت های موجود را در …