什么是未授权访问漏洞

未授权访问漏洞:

未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露
PHP中的未授权访问:

  1. 用户认证
  2. 函数或文件的未认证调用
  3. 密码问题

    什么是未授权访问漏洞

    用户认证
  • 检查代码进行用户认证的位置,是否能够绕过认证,例如:登录代码可能存在表单注入
  • 检查登录代码有无使用验证码等,防止暴力破解的手段
  • 检查Session的时效性,防止因为一个session的长久有效不销毁,而导致验证码、密码、用户名破解成为可能。

函数或文件的未认证调用
一些管理页面是禁止普通用户访问的,有时开发者会忘记对这些文件进行权限验证,导致漏洞发生。
某些页面使用参数调用功能,没有经过权限验证,比如index.php?action=upload
密码问题
有的程序会把数据库连接账户和密码直接写到数据库连接函数中。

未授权访问漏洞的寻找

对于某些需要权限的接口

  1. 不登录直接进行访问
  2. 去掉Cookie进行访问

对于某些能够修改的参数

  1. 尝试修改,构造参数
  2. 尝试删除,或者设置为空

    漏洞审计实战

    凡诺未授权访问后台漏洞
    image.png
    只需要一个cookie中的admin_name的值就可以直接登录
    image.png
    image.png
    访问成功
    源码分析:
    image.png
    image.png
    并没有做严格的校验

    未授权访问漏洞修复建议

  3. 加入用户身份认证机制或token验证

  4. 对系统的功能点增加权限控制。
  5. 敏感操作进行IP限制
  6. 服务器作访问限制