越权漏洞
如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。
一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。
因此,在在权限管理中应该遵守:
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;
你可以通过“Over permission”对应的测试栏目,来进一步的了解该漏洞。
A和B属于同一个级别的用户,如A登录后可以查看自己的信息,他发现提交查看自己信息的请求时候有个username参数,修改username参数可以查看B的个人信息,这就是水平越权了。
这里我们使用lucy的账号先进行登录~
我们来观察这个URL,我们是不是可以将lucy更改为其他用户呢?
我们将lucy更改为lili,成功访问~这里就存在水平越权漏洞了。。。
成功显示了lili的个人信息,水平越权漏洞验证成功。
我们看到后端代码 并没有进行校验,因此导致了越权漏洞。
垂直越权一般发生在普通用户越权可以操作管理员权限的情况。这里的情况是管理员可以查看和新增用户,普通用户只可以查看用户。这里验证过程为:
退出管理员帐号,重放新增用户请求,发现不能成功新增用户。
登录普通用户,发现没有新增用户权限,但替换掉1中抓包的请求cookie部分,重放新增用户请求
根据提示,猜测应该是pikacu越权admin。
1.pikachu登陆,发现自己只有查看权限
2.admin管理员登录,有添加用户的权限
下面我们用admin管理员用户新建一个用户,抓包。发送到重放模块,然后停止截包
我们可以看到成功的新建了一个用户
下面admin退出登陆,pikachu登陆系统,目的是为了获取pikachu的cookie,保持截断数据包
下面来到重放模块(1)把cookie换成pikachu的(2)修改一下新建用户的信息
发送~代理模块停止截包~pikachu登陆成功,会看到自己添加的用户sss
下面我们可以看一下后台的代码-首先是登录页面
判断是否登录,登录了才有权限~
这里登录态的验证只是看了用户名密码,并没有判断登录的权限。