简介
如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。
一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。
因此,在在权限管理中应该遵守:
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;
水平越权
发现这里是通过get请求传递参数的方式来显示用户信息,那么直接修改参数会怎样?
这中就叫做水平越级,并不是用户本人的信息,但是可以查看平级的信息。
垂直越权
登陆超级管理员账户之后就是这样,可以添加用户和删除用户。
而普通管理员是这样:
然后我们这里用超级管理员的权限,创建一个新用户
用bp抓到的包如下
如果是权限没有控制的话,那么也就是只要登陆的管理员都拥有这个权限,我们只需要把sessionid换成自己的就好。
所以这里我们直接把我们普通管理员的sessionid换上去,也就是下图的id
换成如图所示
然后提交,发现:
添加成功!