- 原理
sudo 是 Linux 系统中的一个指令,也可以把他理解成一个软件,他可以 更快捷的使用其他用户的权限去完成某些需要高权限用户才能执行 的操作。 - 环境搭建
- 1.先用sudu -V查看版本,此漏洞是Linux的1.8.28版本之前的漏洞
- 添加一个新用户
- 修改sudo配置文件 vim /etc/sudoers
- admin ALL=(ALL,!root) ALL
- 1. test all 代表允许 test 用户在任何主机上使用 sudo 命令.
- 2. (all,!root)表示允许的是切换除 root 用户以外的用户执行.
- 也就是允许 test 用户切换到任何一个除 root 用户以外的用户执行想
- 切换用户su admin
- 漏洞进行
- sudo -u#-1 id
- usnigned int为无负号整型从零开始计算所以-1被顶成0
- 执行到-u#-1 时漏洞触发,指定的如果 uid 等于-1,或者是一个不存在的uid 的情况时,将用户 uid 转换成用户的函数会把”-1”误认为是 0,uid=0 的用户正是最高权限 root 用户的 uid,因此就成功使用了 root 用户执行了我们想要执行的操作
|