越权(以Pikachu为例)


概述

1.平行越权

A用户和B用户属于同一级别的而用户,但不能操作对方个人信息,A用户如果越权操作B用户的个人信息的情况属于平行越权。

2.垂直越权

A用户权限高于B用户,B用户越权操作A用户的权限的情况称为垂直越权。

3.漏洞挖掘

越权漏洞属于逻辑漏洞,是由于权限校验的逻辑不够严谨导致。

每个应用系统其用户对应的权限是根据其业务功能划分的,而每个企业的业务又都是不一样的。

因此越权漏洞很难通过扫描工具发现出来,往往需要通过手动进行测试。



一、水平越权

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

测试流程:

(1)登录一个普通用户的账号(lucy 123456)并查看个人信息:

在这里插入图片描述
看一看这时提交了什么内容到后台,查看URL可以发现,提交了username和submit操作:

在这里插入图片描述

(2)尝试修改username为lili

在这里插入图片描述

回车,可以发现查看到了lili的个人信息:

在这里插入图片描述
查看后台代码:

在这里插入图片描述
可以发现,个人信息页面是在登录态查看的,那么当前登录的人应该只可以查看自己的信息,所以点击查看个人信息时,后台除了需要获取用户名之外,还需要校验这个请求是不是当前登录的用户发过来的,若当前的登录人是lucy,那么传给后台的username只能是lucy,若是其他人就要拒绝掉这个请求。

二、垂直越权

在这里插入图片描述

测试流程:
(1)用超级管理员的账号登录:

在这里插入图片描述

(2)使用超级管理员特有的权限,比如添加用户,去执行这一操作:

在这里插入图片描述
添加用户yy并用Burp Suite抓取这一数据包:

在这里插入图片描述
在这里插入图片描述

(3)将这一请求发送到Repeater中:

在这里插入图片描述

(4)退出超级管理员登录,重放数据包后重定向可以发现提示登录而不是可以添加用户:

在这里插入图片描述

再次管理员登录查看可以发现是没有成功添加用户的。

(5)用普通用户登录:

在这里插入图片描述
刷新页面获取当前登录态的数据包,复制下来当前用户的Cookie:

在这里插入图片描述

(6)找到之前超级管理员添加用户的数据包发送到Repeater,将Cookie替换为上方普通用户pikachu的Cookie,重放数据包后重定向可以发现已经进入登录态了:

在这里插入图片描述

(7)刷新页面,可以发现又多出来一个名为yy的用户,说明可以通过一个普通管理员的登录态重放超级管理员的操作,存在垂直越权漏洞:

在这里插入图片描述

查看后台代码:
在这里插入图片描述


总结

垂直越权在实际利用过程中比较困难,因为需要抓到超级管理员的操作然后重放。

猜你喜欢

转载自blog.csdn.net/m0_46467531/article/details/108692529