在PHP中执行shell_exex("super mkdir dir"); super 原文件如下: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <unistd.h> /*本工具是为PHP调用linux外部命令而写. *其原理是首先为apatch设置root权限, *接着调用system执行命令行参数, *最后返回命令行结果值 */ int main(int argc, char* argv[]) { uid_t uid ,euid; char cmd[2048]={0}; int i,ret=0; FILE * fp; uid = getuid() ; euid = geteuid(); //printf("my uid :%u/n",getuid()); //这里显示的是当前的uid 可以注释掉. //printf("my euid :%u/n",geteuid()); //这里显示的是当前的euid setreuid(euid, uid); //交换这两个id //printf("after setreuid uid :%u/n",getuid()); //printf("afer sertreuid euid :%u/n",geteuid()); for(i=1;i<argc;i++) { strcat(cmd,argv[i]); strcat(cmd," "); } strcat(cmd,";echo $? > /tmp/system.return"); system(cmd); fp=fopen("/tmp/system.return","r"); if(fp) { fscanf(fp,"%d",&ret); fclose(fp); } return ret; }
编译加上权限 chmod u+s super |
|
来自: mrjbydd > 《my kernel》