越权(以Pikachu为例)

时间:2024-03-31 13:24:37


概述

1.平行越权

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

2.垂直越权

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

3.漏洞挖掘

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

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

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



一、水平越权

越权(以Pikachu为例)

测试流程:

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

越权(以Pikachu为例)
看一看这时提交了什么内容到后台,查看URL可以发现,提交了username和submit操作:

越权(以Pikachu为例)

(2)尝试修改username为lili

越权(以Pikachu为例)

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

越权(以Pikachu为例)
查看后台代码:

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

二、垂直越权

越权(以Pikachu为例)

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

越权(以Pikachu为例)

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

越权(以Pikachu为例)
添加用户yy并用Burp Suite抓取这一数据包:

越权(以Pikachu为例)
越权(以Pikachu为例)

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

越权(以Pikachu为例)

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

越权(以Pikachu为例)

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

(5)用普通用户登录:

越权(以Pikachu为例)
刷新页面获取当前登录态的数据包,复制下来当前用户的Cookie:

越权(以Pikachu为例)

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

越权(以Pikachu为例)

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

越权(以Pikachu为例)

查看后台代码:
越权(以Pikachu为例)


总结

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