皮卡丘Over Permission

1.越权漏洞概述

如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了不合理的权限校验规则导致的。

一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。

因此,在在权限管理中应该遵守:
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;

2.水平越权

水平越权,指相同权限下不同的用户可以互相访问,比如A和B是同权限的用户,如果A能看到理论上只有B能看到的信息,或者A能执行理论上只有B能执行的操作。

看题目,首先还是熟悉的登录界面,看提示,我们选择用lucy登录

皮卡丘Over Permission_第1张图片

再点击查看个人信息,我们注意到了上面url有显示,说明是get传参

皮卡丘Over Permission_第2张图片

那么会不会该参数值是哪个用户名就回显哪个用户的信息呢?

我们把lucy改为lili,发现我们没登录就显示出了lili的信息,换成kobe也是一样的

皮卡丘Over Permission_第3张图片

这个漏洞是怎么出现的呢?我们查看源码

皮卡丘Over Permission_第4张图片

和猜想的一样,是因为查找用户信息的时候传入的参数是直接从url中获取的,没有校验当前用户

3.垂直越权

垂直越权指使用权限低的用户可以访问到权限较高的用户。比如A用户权限比B低,如果A可以访问理论上只有B才能访问的资源,或者执行理论上B才能执行的操作。

还是看提示,我们选择用admin登录,查看有哪些权限

皮卡丘Over Permission_第5张图片皮卡丘Over Permission_第6张图片

发现admin有查看,添加,删除的权限

再换pikachu登录

皮卡丘Over Permission_第7张图片

发现其只有查看权限

再换回admin,我们试着添加一个用户xunlei

url是 http://127.0.0.1/pk/vul/overpermission/op2/op2_admin_edit.php

皮卡丘Over Permission_第8张图片再把这个xunlei删掉,注意到url这里突然多了个id=25

即 http://127.0.0.1/pk/vul/overpermission/op2/op2_admin.php?id=25 

皮卡丘Over Permission_第9张图片

现在,我们退出admin,换为用pikachu登录

皮卡丘Over Permission_第10张图片

我们将地址栏的url改为:http://127.0.0.1/pk/vul/overpermission/op2/op2_admin_edit.php

就直接来到了添加用户的界面,但我们发现,pikachu也有了添加用户的权限

皮卡丘Over Permission_第11张图片

我们再随便创建一个用户Tom

创建完之后会跳到登录页面,不要担心,用pikachu登录之后,发现用户Tom已经创建成功!

皮卡丘Over Permission_第12张图片

查看源码:

皮卡丘Over Permission_第13张图片

22~25行,只验证了用户是否登录,如果没登录就跳转到登录页面,没有验证用户权限等级,但前端显示添加用户是权限等级为1的用户才能执行的操作,因此这里有垂直越权漏洞。 

你可能感兴趣的:(网络安全)