参考链接:https://blog.csdn.net/m0_51822230/article/details/116067334
业务权限漏洞的根本原因在于:
前端输入、后端缓存(session)、持久化数据 三方面的一致性验证。
很多业务为了更快的对前端请求作出响应,很多东西放在内存里面,如redis,这个是没有问题的。
越权漏洞原理
浏览器对用户提交的数据请求没有经过严格的权限设置,导致用户可以拥有观察或更改其他用户信息的功能。
越权漏洞被分为两类
一类是水平越权,一类是垂直越权。
水平越权 :用户在权限相同级别下的组,可以进行越权访问、修改、删除数据。
垂直越权 :用户在不同权限下的组,可以进行高级别的权限使用。
前端原因:
只对页面进行更高权限的隐藏
实际上并没有对后端的进行一个权限过滤,只是对前端进行隐藏。根据用户权限的判断,进行选择显示,但是功能点还是可以触发。
正确的做法应该是用户权限与功能点进行绑定。
后端原因:
1.没有进行权限设置(通常来说我们是判断用户组编号、用户等级、用户组来确定权限)
2.没有进行参数过滤
3.数据库中同组成员不同权限
原文链接:https://blog.csdn.net/m0_51822230/article/details/116067334