其实这题直接nc连一下就可以了。
其实考的是系统调用来着
32位程序系统调用号用 eax 储存, 第一 、 二 、 三参数分别在 ebx 、ecx 、edx中储存。 可以用 int 80 汇编指令调用。
64位程序系统调用号用 rax 储存, 第一 、 二 、 三参数分别在 rdi 、rsi 、rdx中储存。 可以用 syscall 汇编指令调用。
linus系统调用号(32位):
看到我们需要的execve为11,即11存在eax里面。
看ida
result为eax,而result=11.且栈上的参数赋值成了/bin//sh
应用程序调用系统调用的过程是:
1.把系统调用的编号存入 EAX;
2.把函数参数存入其它通用寄存器;
3.触发 0x80 号中断(int 0x80).