CVE-2019-14287复现

  • 原理
    sudo 是 Linux 系统中的一个指令,也可以把他理解成一个软件,他可以
    更快捷的使用其他用户的权限去完成某些需要高权限用户才能执行
    的操作。
  • 环境搭建
    • 1.先用sudu -V查看版本,此漏洞是Linux的1.8.28版本之前的漏洞

    • 添加一个新用户

    • 修改sudo配置文件 vim /etc/sudoers

      • 当在 sudo 的配置文件中添加了如下这条
      • admin ALL=(ALL,!root) ALL
      • 就会触发
      • 此条配置的意思是指:
      • 1. test all 代表允许 test 用户在任何主机上使用 sudo 命令.
      • 2. (all,!root)表示允许的是切换除 root 用户以外的用户执行.
      • 也就是允许 test 用户切换到任何一个除 root 用户以外的用户执行想
      • 要执行的操作
    • 当在 sudo 的配置文件中添加了如下这条
    • Test ALL=(ALL,!root) ALL
    • 切换用户su admin

  • 漏洞进行
    • sudo -u#-1 id

    • -u指定用户 然后-1他会理解成用户名没有就是0
    • usnigned int为无负号整型从零开始计算所以-1被顶成0
    • 执行到-u#-1 时漏洞触发,指定的如果 uid 等于-1,或者是一个不存在的uid 的情况时,将用户 uid 转换成用户的函数会把”-1”误认为是 0,uid=0 的用户正是最高权限 root 用户的 uid,因此就成功使用了 root 用户执行了我们想要执行的操作
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>