漏洞危害:
垂直越权
是不同级别之间或不同角色之间的越权,垂直越权还可以分为向上越权和向下越权。向上越权指的是一个低级别用户尝试访问高级别用户的资源,比如说某个系统分为普通用户和管理员用户,管理员有系统管理功能,而普通用户没有,那我们就可以理解成管理功能具备垂直权限划分,如果普通用户能利用某种攻击手段访问到管理功能,那我们就称之为向上越权。向下越权是一个高级别用户访问低级别用户信息,读取到低级用户的个人信息。解决建议:
完善权限验证措施,自己的身份只能查看、修改、删除、添加自己的信息。
1.3 方便记忆方法
针对 水平越权
和 垂直越权
问题,我们日常开发中经常遇到,但是经常混淆。有一个办法可以帮助大家记忆和理解。
我们可以把数据库中的数据想象成一个图书馆的书架。
**图书馆的书架中,每一行与行之间代表的不同的类别,相当于角色;每一本书可以摆放在各种类别的架子上,相当于用户。**这样我们就好理解水平越权和垂直越权了:
- 水平越权: 相同角色权限下,可以跨用户操作。比如:修改别人创建的数据。
- 垂直越权: 不同角色权限下,可以跨角色操作。比如:访问权限之外的页面。