我在 .c 中将以下程序设置为 setuid chmod 仅由所有者读取/执行,并将其设置为不可变的,就像它调用的 php 脚本一样。
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main(int argc, char *argv[] )
{
setuid( 0 );
execv( "/var/tools/control.php", argv );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这本身是否存在安全风险?是否可以通过 argv 或其他一些我没有想到的东西来推送其他命令?我不只是询问这个代理程序的 php 脚本。