Pikachu-九、Over Permission
1. 概述
如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。越权漏洞形成的原因是后台使用了不合理的权限校验规则导致的。
一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。
因此,在在权限管理中应该遵守:
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件。
2. 水平越权
根据提示登录lucy账户:

点击查看个人信息,发现是通过GET请求username参数:

username参数的信息是可控的,尝试将username=lucy修改为username=kobe:

成功水平越权查看用户信息。
3. 垂直越权
查看提示:admin用户权限高于pikachu用户,pikachu用户越权操作admin用户的权限的情况称为垂直越权。

登录admin, 然后添加用户:

开启Burp抓包:

把包发送Repeater模块测试, 再把当前数据包放出去:

可以看到新增了test用户:

这时候退出admin, 在Repeater重新发送创建用户test的请求就会失效, 因为admin已经退出, 没有用户登录是不能执行的:


登录普通用户pikachu:

开启Burp抓包:

将Reapter中的admin账号cookie替换为普通用户pikachu的cookie,发送后查看后台管理中心:


浙公网安备 33010602011771号