【发布时间】:2016-05-21 15:59:18
【问题描述】:
我目前正在研究一本关于安全性的书(我没有发布书名,因为我不确定网站规则,但如果没有问题,我可以这样做)并且我遇到了一个代码示例是产生一个根外壳。
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 $ 而不是根shell#。你能告诉我为什么吗?
【问题讨论】:
-
简短回答:您不会简单地通过运行
sh来提升您的权限。您必须首先以root运行它。
标签: c shell privileges