Pikachu-over permisson(越权漏洞)

一、概述

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

越权漏洞又分为水平越权,垂直越权,简单来理解的话,就是普通用户操作的权限,可以经过漏洞而变成管理员的权限,或者是可以操作其它人账号的权限,也叫未授权漏洞,正常如果访问管理员的一些操作,是需要有安全验证的,而越权导致的就是绕过验证,可以访问管理员的一些敏感信息,一些管理员的操作,导致数据机密的信息泄露。垂直越权漏洞可以使用低权限的账号来执行高权限账号的操作,比如可以操作管理员的账号功能,水平越权漏洞是可以操作同一个层次的账号权限之间进行操作,以及访问到一些账号敏感信息,比如可以修改任意账号的资料,包括查看会员的手机号,姓名,充值记录,撤单记录,提现记录,注单记录等等,也可以造成使用水平越权来执行其他用户的功能,比如删除银行卡,修改手机号,密保答案等等。
一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。
在在权限管理中的预防措施:
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;

二、水平越权

水平越权访问是一种“基于数据的访问控制”设计缺陷引起的漏洞。由于服务器端在接收到请求数据进行操作时没有判断数据的所属人/所属部门而导致的越权数据访问漏洞。

假设用户A和用户B属于同一角色,拥有相同的权限等级,他们能获取自己的私有数据(数据A和数据B),但如果系统只验证了能访问数据的角色,而没有对数据做细分或者校验,导致用户A能访问到用户B的数据(数据B),那么用户A访问数据B的这种行为就叫做水平越权访问。

接下来我们进行实验吧!

我们先来看一源码,找一下突破点:

 

 

 

我们发现查看个人信息的url有规律,查看lili个人信息的的url为http://192.168.24.140/pikachu-master/vul/overpermission/op1/op1_mem.php?username=lili&submit=点击查看个人信息
查看lucy个人信息的的url为
http://192.168.24.140/pikachu-master/vul/overpermission/op1/op1_mem.php?username=lucy&submit=点击查看个人信息

现在kobe是登录状态,lucy是未登录,但是在访问查看lucy个人信息的url,可以看到lucy的个人信息。由此存在水平越权漏洞。

 

 

 

 

 

 但这是怎么回事那?我们刚才也是看了源码,我们发现check_op_login函数,函数只检查了isset($_SESSION[‘op’][‘username’])&& isset($_SESSION[‘op’][‘password’]),也就是是否由用户登录,并没有去检查是谁登录,所以就产生了水平越权漏洞。

三、垂直越权

垂直越权是一种“基于URL的访问控制”设计缺陷引起的漏洞,又叫做权限提升攻击。

由于后台应用没有做权限控制,或仅仅在菜单、按钮上做了权限控制,导致恶意用户只要猜测其他管理页面的URL或者敏感的参数信息,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。

我们可以先去了解一下源码:在只登陆pikachu账号而未登录admin账号时,访问admin的页面是访问不成功的,因为admin.php有检验账号的level级别。

 

 

 

 我们发现添加账号页码并没有验证level的级别,突破点来了!

我们先来看一下 账号的权限:管理员账号不但能添加也能查看,普通用户只能查看,

 

 

 

 我们可以根据漏洞来用普通用户建造账号:

首先我们admin添加一个账号,并且抓包,这里这个请求包一定要保存下来一会会用到。

 

 然后我们退出高权限的admin账号,登录低权限的Pikachu账号,操作开始了:

我们先抓一下Pikachu账号登录时的包,将cookie值记录下来:PHPSESSID=f3b6e4cc830ec99d1a630ca2c37cad01

 

 紧接着我们登录进去Pikachu,把刚才admin管理员的包重新发一遍,但是我们需要把cookie的值改为Pikachu登录时取到的cookie值。

我们发现账号创建成功了!

 

 其实

这样用普通管理员去做超级管理员的操作就是垂直越权,太难做到了, 因为现实很难抓到超级管理员的包。

但在一些后台管理员系统中,有管理员,普通用户和业务人员等,往往会出现垂直越权

 

posted @ 2020-04-06 15:58  心态要好(✪▽✪)  阅读(291)  评论(0编辑  收藏  举报