ROP
Ret2Text
ret2text即需要我们控制程序执行程序本身已有的的代码(.text)
题目
Ret2ShellCode
ret2shellcode需要我们控制程序执行shellcode代码。
Ret2SysCall
理论
ret2syscall需要我们控制程序执行系统调用,获取shell
系统调用执行条件:
- 把系统调用的编号存入 EAX
- 把函数参数存入其它通用寄存器
- 触发 0x80 号中断(int 0x80)
例如:
执行execve("/bin/sh",NULL,NULL)
X86下
- 系统调用号即eax应该为0xb
- 第一个参数即ebx应该指向/bin/sh的地址
- 第二个参数即ecx应该为0
- 第三个参数edx应该为0
相关题目
Ret2Libc
ret2libc即控制函数的执行 libc中的函数,通常是返回至某个函数的plt处或者函数的具体位置(即函数对应的got表项的内容)