<返回更多

linux下如何自动提升权限

2019-08-28    
加入收藏

问题: httpd server是用web用户执行的,如何才能通过httpd server来做root才能做到事情呢? 我想大概这样可以:

我们知道linux上到可执行文件到属主有一个s位,则该文件就可以seteuid到该用户到权限来做事情,于是写如下测试脚本:

====== agent.c=========

#include

#include

#include

#include

int main(int ac, char ** av) {

seteuid(0);

printf("%d", geteuid()); // 返回0

// 这里干活就是root的身份了

return 0;

}

========================

编译文件:

gcc -o agent agent.c

生成文件:

-rwxr-xr-x 1 root root 7213 2011-06-13 00:02 agent

修改文件属性:

chmod +s agent

-rwsr-sr-x 1 root root 7213 2011-06-13 00:02 agent

执行agent:

./agent

0

返回结果为0,说明提升权限成功了

------------------------------

问题: 按说如果添加来s位,则非属主用户不应该有写权限,换言之,如果非属主用户有来写权限,则s位应该无效;但事实上, chmod a+w agent 后,提升权限还是成功来,为什么?

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>