一、漏洞描述
越权访问(Broken Access Control,简称BAC)是Web应用程序中一种常见的漏洞,由于其存在范围广、危害大,被OWASP列为Web应用十大安全隐患的第二名。
该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限。越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定,一旦权限验证不充分,就易致越权漏洞。
二、漏洞分类
越权访问漏洞主要分为水平越权、垂直越权。
![8376633d57f9cfa6f3e9beae810fa4f0.png](https://i-blog.csdnimg.cn/blog_migrate/b161af1307fa6e05c04a1736235e8d42.jpeg)
水平越权:指攻击者尝试访问与他拥有相同权限的用户资源。例如,用户A和用户B属于同一角色,拥有相同的权限等级,他们能获取自己的私有数据(数据A和数据B),但如果系统只验证了能访问数据的角色,而没有对数据做细分或者校验,导致用户A能访问到用户B的数据(数据B),那么用户A访问数据B的这种行为就叫做水平越权访问。
![744e793f66e500a2de3635f5ae15af33.png](https://i-blog.csdnimg.cn/blog_migrate/db12f0fbc112a742163f36b4e600f7f2.jpeg)
垂直越权:由于后台应用没有做权限控制,或仅仅在菜单、按钮上