根壳产卵

时间:2016-05-21 15:59:19

标签: c shell privileges

我目前正在学习一本关于安全性的书(我没有发布这本书的名字,因为我不确定网站规则,但如果没有问题,我可以这样做)我遇到了一个代码示例,其目的是生成根shell。

int main(){
  char *name[2];
  name[0] = "/bin/sh";
  name[1] = 0x0;
  execve(name[0], name, 0x0); 
  exit(0);
 }

我使用gcc shell.c -o shell编译它,然后运行它,但我得到的是一个常见的shell $而不是root shell #。你能告诉我为什么吗?

1 个答案:

答案 0 :(得分:2)

因为您忘记阅读需要使root和setuid拥有可执行文件的部分,然后才能执行您想要的操作。