用户应用程序或更严重的进程在UNIX或SYSTEM中以root用户身份运行的条件是什么,它可能成为运行shellcode的缓冲区溢出攻击的目标。我在网上看到,简单的C为
#include <stdio.h>
#include <string.h>
void func(char *name)
{
char buf[100];
strcpy(buf, name);
printf("Welcome %s\n", buf);
}
int main(int argc, char *argv[])
{
func(argv[1]);
return 0;
}
它可以成为Unix中缓冲区溢出攻击和运行shellcode的前提。我正在关注程序或流程许可
答案 0 :(得分:0)
在查看特权进程特权进程时,有很多攻击向量。第一个是setuid位,常规用户调用setuid应用程序并获取文件所有者的有效用户ID。想到的下一个方法是通过Linux功能。功能类似于setuid的更精细版本,有关详细信息,请参阅man getcap
。另一种方法是通过网络或IPC接口,如UNIX套接字,命名管道,TCP或UDP套接字等,由长期生存进程(守护进程)公开