一、概述
如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。
一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。
因此,在在权限管理中应该遵守:
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;
?
?
二、水平越权
漏洞利用:
第一步:登陆之后可以看到自己的用户信息
? ?
第二步:url中有用户名的参数,我们可以改一下
这样,没有经过密码验证就查看了其他平级用户的信息,这是水平越权。
? ?
? ?
? ?
四、垂直越权
漏洞利用:
第一步:首先登录admin超级管理员用户,发现有管理用户的权限
? ?
第二步:添加一个用户
?
? ?
第三步:抓包,这是他新建的用户的数据包,并且有登录状态的cookie
? ?
第四步:退出用户登录的状态,再重新发一下包
发现没有新建的用户信息,这是正常的,因为超级管理员的登录cookie以及随着退出失效
? ?
第五步:我们现在抓一下普通用户的cookie
? ?
第六步:把普通用户的登录cookie用到之前的超级管理员的包上
注意这里admin并没有登录
?
第七步:我们发现用户界面已经完成了一个用户的创建
这样用普通管理员去做超级管理员的操作就是垂直越权,但是比较鸡肋 因为现实很难抓到超级管理员的包。
? ?
原文:https://www.cnblogs.com/hzk001/p/12611698.html