一道简单的ctf-wiki上的基本ROP题目。 原理:控制程序执行系统调用,获取 shell。 传送门 0x01 预备知识: 系统调用通过 int 80h 实现,应用程序调用系统调用的过程是: 1.把系统调用的编号存入 EAX; 2.把函数参数存入其它通用寄存器; 3.触发 0x80 号中断。 execve函数: 详见:execve函数 0x02 解题步骤: 首先检查: ida打开之后,没有system函数,只有binsh关键字,开启NX保护。 需要构造execve(“/bin/sh”, 0,0); 其中,系统调用号可以通过指令 cat /usr/include/