✅什么是垂直越权,如何防止?
典型回答
垂直越权(垂直权限漏洞)是指普通用户通过不当手段获取比其当前角色更高权限的访问,进而能够执行通常只对管理员或特权用户开放的操作。
比如说,在一个在线银行系统中,普通用户A尝试执行只有管理员权限的操作,例如修改系统设置或访问其他用户的账户信息。若系统未能正确限制这些操作,用户A可能能够通过直接调用相关的API或修改请求参数来获取更高的权限。
其实,如果一个系统被垂直越权了,就说明这个系统的权限管理做的不到位,即在用户的每个操作之前,并没有去严格的校验是否有权限。
一般来说,如果系统中有不同的角色,那么通常采用RBAC( 基于角色的访问控制), 在RBAC模型中,用户被分配到一个或多个角色,而每个角色拥有特定的权限。用户通过角色来获取相应的访问权限,系统根据用户所拥有的角色来决定其可以执行的操作。
有了RBAC之后,就可以更加好的管控不同的角色所有用的权限了,但是同时,也需要注意,权限和角色的授予需要遵循一个** 最小权限原则 ,** 即只给用户授予可以完成其工作所需的最低权限,避免授予多余的特权。这可以减少潜在的权限提升攻击面。