当前位置: 首页 > news >正文

逻辑越权--水平垂直越权(WEB漏洞)

本文主要内容

#水平,垂直越权,未授权访问
        解释,原理,检测,利用,防御等

  •     通过更换的某个ID之类的身份标识,从而使A账号获取(修改、删除等)B账号数据。
  •     使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限的操作。
  •     通过删除请求中的认证信息后重放该请求,依旧可以访问或者完成操作。

案例讲解部分

        原理剖析

前端安全造成:界面
判断用户等级后,代码界面部分进行可选显示


后端安全造成:数据库

user表(管理员和普通用户同表)
        id,username,password,usertype
        1,acmin,123456,1
        2,xiaodi, 11111, 2
登录用户admin或xiaodi时,代码是如何验证这个级别?(usertype判断)


如果在访问网站数据包中有传输用户的编号、用户组编号或类型编号的时候,那么尝
试对这个值进行修改,就是测试越权漏洞的基本。

  1. Pikachu-本地水平垂直越权演示(漏洞成因)

                水平越权

        通过抓包,修改request的name属性值(一般是通过前期信息收集得到),可以得到指定用户的信息界面,bp工具显的尤为重要,无非就是网络分发

                垂直越权

        先用admin用户添加一个用户,复制数据包,再登陆普通用户界面,修改cookie成自己的,发送数据包,用用户的身份完成了添加用户的功能(管理权限)

垂直越权:添加用户


前提条件:获取的添加用户的数据包
怎么来的数据包:
1.普通用户前端有操作界面可以抓取数据包
2.通过网站源码本地搭建自己去模拟抓取
3.盲猜       --# 主要是配合其他漏洞拿到数据包

  1. 墨者水平-身份认证失效漏洞实战(漏洞成因)

        使用test用户登录之后,通过bp抓包,观察得到存在uid和card_id可能和用户身份有关,在实际网站中,不同的id可以查看不同用户的信息,通过抓取头像信息,得到card_id,然后和bp中得到响应的数据包进行比对,可以得到用户名字和密码,本关重点是如何得到uid信息

GET /json.php?card_id=20128880322 HTTP/1.1
Host: 219.153.49.228:49949
User-Agent: Mozi1la/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept:*/*
Accept-Language: zh-CN, zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://219.153.49.228:49949/user_info.php
Cookie:PHPSESS1D=sf48g00i979dcq1k47v9j2d216; uid=test; mid=6927071f788211ee17211be0b89ef1e6
DNT:1
Connection: close
Cache-Control:max-age=0

  1. 越权检测-Burpsuite插件Authz安装测试 (插件使用)

权限类漏洞快速挖掘-Authz插件-CSDN博客https://blog.csdn.net/weixin_50464560/article/details/120211325

                越权过程中,只用改变uid?cookie不需要改变吗?

                        答:

在越权过程中,是否只需改变 uid,cookie 是否需要改变,需视具体情况而定:

垂直越权

垂直越权是指低权限用户通过某种方式获取高权限用户或管理员的权限进行操作。在这种情况下,通常需要替换 cookie 来尝试越权。因为不同权限的用户往往有不同的 cookie 值来标识其身份和权限,低权限用户若想越权访问高权限用户的功能或数据,需将自己 cookie 中的某些字段替换为高权限用户的 cookie 值,使服务器误认为其具有相应权限。

水平越权

水平越权是指同等级权限的用户之间越权访问彼此的数据或资源。此时,有可能仅通过改变 uid 就可实现越权。比如在一些存在漏洞的应用中,用户通过修改请求参数中的 uid 值,直接访问到其他同权限用户的个人信息或数据。但如果系统除了对 uid 进行校验外,还会对 cookie 中的相关信息进行校验,仅改变 uid 就无法成功越权,还需要同时修改 cookie 中与用户身份相关的字段。

基于 cookie 的越权

有些系统将用户的身份信息、权限信息等直接存储在 cookie 中,若攻击者能够获取到具有特定权限的用户的 cookie,并将其替换到自己的请求中,就可能实现越权操作,而无需直接改变 uid。例如,某些应用中,管理员的 cookie 中包含特定的标识字段和权限值,普通用户若能窃取到管理员的 cookie,直接替换自己的 cookie,就可绕过权限限制,进行越权访问。

特殊场景

如果系统存在逻辑漏洞,如在某个接口或功能中,仅依据某个参数(如 uid)来判断用户身份或权限,而未对其他相关信息进行严格校验,那么改变 uid 就可以实现越权,cookie 可能无需修改。但如果该系统同时使用 cookie 和 uid 来共同验证用户身份及权限,仅改变 uid 就不够,还需相应地修改 cookie 中的相关内容,才能绕过验证进行越权操作。

相关文章:

  • 智能修复大模型生成的 JSON 字符串:Python 实现与优化
  • 从单机到生产:Kubernetes 部署方案全解析
  • Unity Editor 扩展:查找缺失的 Image Sprite
  • 【Windows 常用工具系列 22 -- vscode markdown preview 字体大小设置】
  • VSCode|IDEA|PyCharm无缝接入DeepSeek R1实现AI编程
  • 【Elasticsearch】在kibana中能获取已创建的api keys吗?
  • Jenkins忘记admin密码后的恢复步骤
  • 学习海康VisionMaster之间距检测
  • 数据中台产品功能介绍
  • 【区块链】Uniswap详细介绍
  • webrtc 视频直播
  • WiFi那些事儿(七)——802.11速率表
  • 2025-05-06 事业-独立开发项目-记录
  • iPaaS制造案例丨某照明行业头部企业借助谷云科技iPaaS步入数字化转型“快车道”
  • Java引用RabbitMQ快速入门
  • PaddlePaddle 和PyTorch选择与对比互斥
  • 关于 js:1. 基础语法与核心概念
  • Python之pip图形化(GUI界面)辅助管理工具
  • Jenkins 改完端口号启动不起来了
  • DTU_DTU厂家_5G/4G DTU终端_DTU模块_厦门计讯物联科技有限公司
  • 证券时报头版:巴菲特留给投资界的珍贵启示
  • 降雪致长白山天池景区关闭,有游客在户外等待一小时,景区回应
  • 魔都眼|上海环球马术冠军赛收官,英国骑手夺冠
  • 韩国国民力量党宣布金文洙为该党总统候选人
  • 纽约大都会博物馆展“萨金特与巴黎”:从艺术生到明星画家
  • 天启年间故宫“三殿”重修与晚明财政