pikachu之越权漏洞

一、越权漏洞概述

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

1. 水平越权:

A用户和B用户属于同一级别用户,但各自不能操作对方个人信息,A用户如果越权操作B用户的个人信息的情况称为水平越权操作

2. 垂直越权:

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

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

二、常见越权漏洞演示:水平越权

第一步:先根据提示登录,登录lucy的信息
在这里插入图片描述

第二步:点击查看个人信息
在这里插入图片描述
我们发现,lucy的信息是通过username参数以get请求方式提交的,我们试试可不可以修改username参数查看其他人信息?

第三步:修改url参数的内容
在这里插入图片描述

如图,直接返回了lili的个人信息。因为当前是以用户名为lucy登录的,但通过修改username参数直接查询到了lili的个人信息,而lili和lucy属于同一级别用户,所以存在水平越权漏洞。

第四步:查看部分源代码

$link=connect();
// 判断是否登录,没有登录不能访问
if(!check_op_login($link)){
    header("location:op1_login.php");
}
$html='';
if(isset($_GET['submit']) && $_GET['username']!=null){
    //没有使用session来校验,而是使用的传进来的值,权限校验出现问题,这里应该跟登录态关系进行绑定
    $username=escape($link, $_GET['username']);
    $query="select * from member where username='$username'";
    $result=execute($link, $query);
    if(mysqli_num_rows($result)==1){
        $data=mysqli_fetch_assoc($result);
        $uname=$data['username'];
        $sex=$data['sex'];
        $phonenum=$data['phonenum'];
        $add=$data['address'];
        $email=$data['email'];

        $html.=<<<A

判断是否为登录态

三、常见越权漏洞演示:垂直越权

先抓取超级管理员修改账户信息的数据包,然后退出超级管理员身份的登录,切换到普通管理员的身份,然后用普通管理员的身份将该数据包进行重放,查看是否操作成功。

第一步:先用超管用户登录
在这里插入图片描述

第二步:添加用户
在这里插入图片描述

第三步:打开浏览器代理,用burp抓包
在这里插入图片描述

把这个请求发送到 Repeater 中,然后退出管理员账号,重放这个数据包,这时候用户是会添加失败的,因为没有登录状态
在这里插入图片描述
添加成功
在这里插入图片描述

第三步:登录普通用户pikachu

发现普通用户只有查看权限
在这里插入图片描述

burp抓包
在这里插入图片描述

第四步:将普通用户的cookie复制到超户
在这里插入图片描述

然后刷新页面,发现又新增了一行,这就是垂直越权漏洞
在这里插入图片描述

四、越权漏洞防范措施

1、前后端同时对用户输入信息进行校验,双重验证机制
2、 执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
3、特别敏感操作可以让用户再次输入密码或其他的验证信息。
4、可以从用户的加密认证 cookie 中获取当前用户 id,防止攻击者对其修改。或在 session、cookie 中加入不可 预测、不可猜解的 user 信息。
5、直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理
6、永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
垂直越权是指攻击者通过利用应用程序中的漏洞,从低权限用户账户提升权限,并获得高权限用户的访问或操作权限的情况。对于pikachu垂直越权的情况,我们需要进行一些防范措施来确保系统的安全。一种防范措施是在调用功能之前验证用户的身份,并验证用户是否具备执行关键操作的权限。此外,对于直接对象引用的加密资源ID,我们可以采取措施来防止攻击者通过枚举ID来获取敏感数据。另外,对于用户输入的可控参数,我们需要进行严格的检查和过滤,以确保不相信来自用户的输入。垂直越权漏洞通常在需要登录的页面的增、删、改、查功能中容易出现,因此在这些地方需要对当前用户的权限进行校验,并确保校验规则不过于简单,以避免越权漏洞的产生。123 #### 引用[.reference_title] - *1* *2* [Pikachu-----Over permission 越权](https://blog.csdn.net/m0_65712192/article/details/128506113)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *3* [渗透测试之pikachu 越权(水平越权+垂直越权)](https://blog.csdn.net/qq_37077262/article/details/103025989)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值