9-1越权漏洞原理及水平越权案例演示

越权漏洞解析-课程目录

 越权漏洞概述
 常见越权漏洞演示:平行越权
 常见越权漏洞演示:垂直越权
 越权漏洞常见防范措施

越权漏洞概述

由于没有对用户权限进行严格的判断,
导致低权限的账号(比如普通用户)可以通过越权的操作,去完成高权限账号(比如超级管理员)范围内的操作。

平行越权:A用户和B用户属于同一级别用户,比如说,像淘宝用户的会员,所有会员,其实对淘宝来说,它的权限是一样的,但各自不能操作对方个人信息,如果说,这时候出现后台权限检验的问题,A用户如果越权操
作B用户的个人信息的情况称为平行越权操作,对于后台系统来说,它是属于同一个级别的用户,只不过A跟B是属于两个独立的用户

垂直越权:A用户权限高于B用户,比如一个是超级管理员,一个是普通管理员,B用户越权操作A用户的权限的情况称为垂直越权。

越权漏洞属于逻辑漏洞,是由于后台对权限进行校验的逻辑不够严谨导致。
在实际情况当中,每个应用系统其用户对应的权限是根据其业务功能划分的,而每个企业的业务又都是不一样的。
因此越权漏洞很难通过扫描工具发现出来,往往需要通过手动进行测试。

常见越权漏洞演示:前端用户平行越权

一般越权是出现在有,登录状态的页面,因为这个页面一定要有相关的权限才可以访问

在这里插入图片描述

先登陆一下,lucy,123456

在这里插入图片描述

登录之后,点击可以查看自己的信息,我们来测试一下,这个地方是不是存在越权的问题,我们点击查看个人信息,看一下,提交到后台的是什么东西

在这里插入图片描述

我们看到点提交查看个人信息,提交的是个人请求,相当于是把当前的用户名,提交到后台,获得把对应的信息显示出来,如果后台对查询接口,逻辑检验,有问题的话,那有可能就会被绕过

我们把用户名改成其它人的,就是在lucy登录状态的情况下,改成lili

在这里插入图片描述

它就直接把其它人的信息,提交出来了,这种情况,实际上就是越权漏洞,也就是说,我当前登录的人是lucy,但是,我在lucy的登录状态下,却可以看到其它人的会员信息

前端用户平行越权:代码分析

我们来看一下,它的代码

在这里插入图片描述

通过$_GET获取到用户名,后面直接对这个用户名的信息,进行查询,然后把它返回到前端,实际上,这个地方是有问题的,因为这个页面是登录态的页面,也就是说,只有登录的人,才可以看,并且从应用的逻辑上来说,这个地方只有当前登录的人,才可以看自己的信息,不能看别人的信息,所以说,当你去点击查询,你自己个人信息的时候,后台除了获取用户名以外,你还需要去判断对应的请求,是不是lucy发过来的,也就是说,我们要把用户信息,跟当前登录态的用户信息进行一个对比,比如说,当前的登录人是lucy,它提交请求的时候,对应的userid一定要是lucy,换成其它人,说明它做了越权的尝试,我们可以直接把它拒绝掉,就是因为这个地方,它没有做越权判断,所以就导致这个地方,就出现了逻辑问题,在实际场景当中,这个问题,其实出现的蛮多的

一般都是我们开发人员,在写代码和设计当中,对这个权限一致性的校验,没有太过严格导致的

猜你喜欢

转载自blog.csdn.net/m0_53008479/article/details/125270897
今日推荐