Shellcode:执行2次execve()调用

Joh*_*Doe 2 c assembly buffer-overflow execve shellcode

我试图在汇编中编写shellcode.我需要执行/usr/bin/killall命令和/usr/bin/wget命令.我有两个命令在shellcode中使用execve()syscall 完美运行.但是现在我想要将这两个结合起来,但这是不可能的,因为程序在执行第一个execve()调用时退出.(摘自execve():execve()成功后不返回).

我该如何进行2次execve()通话?还是有另一种方法来调用都/usr/bin/killall/usr/bin/wget同一个shell代码?

提前问候和感谢!

jbr*_*jbr 5

当您使用exec-family函数时,您调用它的程序将替换为当前进程.因此,当第一次执行execve时,您的整个过程图像将消失,因此永远不会进行第二次调用.要解决这个问题,你必须在调用execve之前分叉另一个进程.