原理
原理就直接参考别的大佬写的文章讲下了
参考文章:
https://blog.youkuaiyun.com/qq_33948522/article/details/93880812
ret2syscall,即控制程序执行系统调用,获取 shell
ret2syscall通常采用execve(重点函数,32位调用号为0x0b,64位调用号为0x3b)
ROP
Return Oriented Programming,其主要思想是在栈缓冲区溢出的基础上,利用程序中已有的小片段 (gadgets) 来改变某些寄存器或者变量的值,从而控制程序的执行流程。
一般的栈结构:
高地址 +-----------------+
| retaddr |
+-----------------+
| saved ebp |
ebp--->+-----------------+
|