越权访问(高危)

# 漏洞等级 高危 # 漏洞描述 越权访问(Broken Access Control,简称BAC)是一种很常见的逻辑安全漏洞。可以理解为服务器端对客户提出的数据操作请求过分信任,一个用户一般只能够对自己本身的信息进行增删改查,然而由于后台开发人员的疏忽,没有在信息进行增删改查时候进行用户判断,忽略了对该用户操作权限的判定,导致攻击账号拥有了其他账户的增删改查功能。 # 漏洞危害 越权查询,越权删除,越权修改,越权增加 ## 横向越权(越界访问) 相同角色权限下,可以跨用户操作。比如:修改别人创建的数据 ## 垂直越权(权限升级) 低权限用户执行高权限操作的情况,突破原有限制,进入受保护的资源和功能。例如,普通用户成功访问管理员控制面板或查看选定数据的情况,同角色权限下,可以跨角色操作。比如:访问权限之外的页面 ![19118ef73a9d4fd08888975751c8755c.png](https://cos.easydoc.net/44929674/files/lv26szfi.png) # 修复方案 ## 1. 水平越权修复 在数据库中新增创建人标识字段,要求可以唯一标识创建人。 前端、后端都要在查询、操作接口根据当前用户进行校验。 ## 2. 垂直越权修复 修复垂直越权漏洞,除了前端需要控制菜单、页面的显示之外,后端接口也需要根据权限来控制访问权限,可以利用 Security、Shiro 的注解来实现,或者通过新建一张后端权限表与菜单表关联表动态配置。