[ 漏洞挖掘基础篇六 ] 漏洞挖掘之越权漏洞挖掘

news2024/11/20 1:47:20

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 中华人民共和国网络安全法
  • 文章内容仅用于以防御为目的的演示请勿用于其他用途,否则后果自负
  • 漏洞发布要求
  • 1.越权漏洞原理
    • 1.1 为什么学习越权漏洞
    • 1.2 从开发需求看原理
    • 1.3 越权漏洞产生关键点:
    • 1.4 基于角色的访问控制(RBAC:Role-Based Access Control)
    • 1.4 越权漏洞类型:
    • 1.5 思考:
  • 2.越权漏洞测试规范
  • 3.水平越权测试
    • 3.1 常见资源关联字段格式.
    • 3.2 实例一
    • 3.3 实例二
    • 3.3 实例三
  • 4.垂直越权普通测试
    • 4.1 常见资源关联字段格式.
    • 4.2 垂直越权常见测试点
    • 4.3 实例
    • 4.4 实际情况中测试方法
      • 4.4.1 案例案例一
      • 4.4.2 案例案例二
    • 4.5 常见逻辑漏洞案例
      • 4.5.1 任意用户密码找回(验证码暴破)
      • 4.5.2 任意用户密码找回(接口直接返回验证码)
      • 4.5.3 任意用户密码找回(找回密码链接无随机值)
      • 4.5.4 一元支付漏洞
  • 5、前文分享
  • 中华人民共和国网络安全法
  • 文章内容仅用于以防御为目的的演示请勿用于其他用途,否则后果自负
  • 漏洞发布要求

注:本文部分素材来源于网络,如有侵权请联系删除。

中华人民共和国网络安全法

第二十七条
任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动:不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具,明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。

文章内容仅用于以防御为目的的演示请勿用于其他用途,否则后果自负

漏洞发布要求

1.不得在网络产品提供者提供网络产品安全漏洞修补措施之前发布漏洞信息
2.不得发布网络运营者在用的网络、信息系统及其设备存在安全漏洞的细节情况不得刻意夸大网络产品安全漏洞的危害和风险,
3.不得利用网络产品安全漏洞信息实施恶意炒作或者进行诈骗、敲诈勒索等违法犯罪活动
4.不得发布或者提供专门用于利用网络产品安全漏洞从事危害网络安全活动的程序和工具5. 5.在发布网络产品安全漏洞时,应当同步发布修补或者防范措施
6.在国家举办重大活动期间,未经公安部同意,不得擅自发布网络产品安全漏洞信息
7.不得将未公开的网络产品安全漏洞信息向网络产品提供者之外的境外组织或者个人提供
8.法律法规的其他相关规定

1.越权漏洞原理

1.1 为什么学习越权漏洞

1.2021 owasp top10 第一名
2.目前WAF无法拦截(拦截明显的测试方法,越权是逻辑类,没有通用的测试语句)
3.无法全自动化发现(逻辑类无法利用扫描器)

在这里插入图片描述

1.2 从开发需求看原理

开发需求:用户可查看个人订单详情
实现结果:用户访问www.test.com/order_detail.php?id=15167,查看id为15167的订单详情
1.获取用户传递的id参数值15167
2.去数据库中订单表查询id为15167的订单内容
3.将订单详情内容回显至浏览器

在这里插入图片描述

1.3 越权漏洞产生关键点:

  1. 用户提交(主动或被动)的数据内容被带入到资源操作(增删改查)逻辑中
  2. 后端程序未对请求操作资源的用户身份进行合理判断

1.4 基于角色的访问控制(RBAC:Role-Based Access Control)

网站常见角色划分

  1. 游客(guest)
  2. 会员(member)
  3. 管理员(admin)

1.4 越权漏洞类型:

  1. 水平越权/平行越权:相同角色间的越权请求
  2. 垂直越权:低等级角色与高等级角色间的越权请求

1.5 思考:

普通用户A读取到管理员B的订单信息,那么这是水平越权还是垂直越权?
垂直 或者 平行,更多的时候是水平
查看订单信息的权限,会员都有,不需要管理员权限
看到管理员订单,也是查看订单信息,是同一个权限,不同人

2.越权漏洞测试规范

越权漏洞:越权读取的时候,能读取到的真实数据不超过5组,严禁进行批量读取。帐号可注册的情况下,只允许用自己的2个帐号验证漏洞效果,不要涉及线上正常用户的帐号,越权增删改,请使用自己测试帐号进行。帐号不可注册的情况下,如果获取到该系统的账密并验证成功,如需进一步安全测试,请咨询管理员得到同意后进行测试。
SRC行业安全测试规范

3.水平越权测试

寻找与具体资源关联的字段,并尝试按字段格式修改为其他值,观察能否操作其他用户资源。

3.1 常见资源关联字段格式.

  1. 整型格式id=1100 (id型)
  2. 用户名格式username=zhangsan (username型)
  3. 其他可推理格式userid = MTEwMQ%3D%3D (base64型)

3.2 实例一

查询lili的信息发现字段username,lili改为lucy,可查看lucy的信息
这种实际情况中相对较少,通常是id型的

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

3.3 实例二

通常是这种(userid)

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

为什么常见:因为数据表有主键id值

3.3 实例三

通过加密,更改userid值

在这里插入图片描述

4.垂直越权普通测试

4.1 常见资源关联字段格式.

寻找与角色关联的字段,并尝试按字段格式修改为其他值,观察能否操作高级别用户资源
常见角色相关参数

user_type
user_status
role_id
is_admin

4.2 垂直越权常见测试点

注册用户时,是否包含角色相关字段
cookies中是否包含角色相关字段

4.3 实例

1.管理员用户admin用户权限

在这里插入图片描述

2.普通用户pikachu用户权限

在这里插入图片描述

3.admin账户添加一个普通账户test(抓包),如果pikachu也能创建成功就是垂直越权
pikachu用户的cookie

在这里插入图片描述

4.管理员用户cookie

在这里插入图片描述

5.利用pikachu用户cookie 实现创建test2用户

在这里插入图片描述

6.创建成功:存在越权

在这里插入图片描述

4.4 实际情况中测试方法

实际中不会有管理员账号,垂直越权比水平越权稍微少一些

4.4.1 案例案例一

1.注册账户

在这里插入图片描述

2.登录为普通用户

在这里插入图片描述

3.查看数据包,发现cookie中存在admin字段并且值为0

在这里插入图片描述

4.尝试修改admin字段值为1后,变成管理员权限

在这里插入图片描述

5.可进入后台管理功能,实现管理账户

在这里插入图片描述

4.4.2 案例案例二

1.正常注册账户

在这里插入图片描述

2.注册数据包如图

在这里插入图片描述

3.添加”has_admin_role”字段,值为true

在这里插入图片描述

4.使用创建账户登陆,即为管理员权限

在这里插入图片描述

4.5 常见逻辑漏洞案例

4.5.1 任意用户密码找回(验证码暴破)

1.找回密码功能,随意填写验证码,抓取数据包

在这里插入图片描述

2.对验证码字段code暴力破解,成功跑出验证码

在这里插入图片描述

3.成功进入修改密码页面

在这里插入图片描述

4.5.2 任意用户密码找回(接口直接返回验证码)

1.找回密码截图

在这里插入图片描述

2.抓包发现接口直接返回验证码

在这里插入图片描述

4.5.3 任意用户密码找回(找回密码链接无随机值)

1.注册两个账户,尽量相隔短时间找回密码

在这里插入图片描述

2.查看邮箱中找回密码链接,发现time字段仅相差4个数

在这里插入图片描述

4.5.4 一元支付漏洞

1.购买80元保险

在这里插入图片描述

2.填写相关信息,可看到支付金额为80

在这里插入图片描述

3.下一步时抓包,修改数据包金额字段为1

在这里插入图片描述

4.进入支付页面,金额为1元

在这里插入图片描述

5.查看保单,可以看到购买了价值80元的保险

在这里插入图片描述

5、前文分享

[ 漏洞挖掘基础篇一 ] 信息收集之在线收集

[ 漏洞挖掘基础篇二 ] 信息收集之工具站点

[ 漏洞挖掘基础篇三 ] 漏洞挖掘之fuzz测试

[ 漏洞挖掘基础篇四 ] 漏洞挖掘之 SQL 注入挖掘

[ 漏洞挖掘基础篇五 ] 漏洞挖掘之 XSS 注入挖掘

中华人民共和国网络安全法

第二十七条
任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动:不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具,明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。

文章内容仅用于以防御为目的的演示请勿用于其他用途,否则后果自负

漏洞发布要求

1.不得在网络产品提供者提供网络产品安全漏洞修补措施之前发布漏洞信息
2.不得发布网络运营者在用的网络、信息系统及其设备存在安全漏洞的细节情况不得刻意夸大网络产品安全漏洞的危害和风险,
3.不得利用网络产品安全漏洞信息实施恶意炒作或者进行诈骗、敲诈勒索等违法犯罪活动
4.不得发布或者提供专门用于利用网络产品安全漏洞从事危害网络安全活动的程序和工具5. 5.在发布网络产品安全漏洞时,应当同步发布修补或者防范措施
6.在国家举办重大活动期间,未经公安部同意,不得擅自发布网络产品安全漏洞信息
7.不得将未公开的网络产品安全漏洞信息向网络产品提供者之外的境外组织或者个人提供
8.法律法规的其他相关规定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/110648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用Echarts实现SpreadJS引用从属关系可视化

在金融行业,我们经常会有审计审查的需求,对某个计算结果进行审查,但是这个计算结果可能依赖多个单元格,而且会有会有多级依赖的情况,如果让我们的从业人员靠眼睛找,工作量巨大,而且准确性存疑&a…

图书管理系统【Servlet+HTML综合应用】

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:Java案例分…

分享从零开始学习网络设备配置--任务2.7 提高网络稳定性(VRRP)

任务描述 某公司在北京的总部网络承担了连接全国各地分公司网络的任务。总部网络中心采用多台万兆交换机,内部网络按照业务规划有2个部门VLAN。为了增强总部核心网络的稳定性,要求在三层网络设备上配置VRRP备份组,实现网关冗余,为…

BYOL论文精读

文章目录概要背景方法1. 概述2. 参数更新3.目标z_ξ的构建和q_θ的预测结果结论个人看法概要 本篇博客介绍了Bootstrap Your Own Latent (BYOL)方法,这是DeepMind和Imperial London提出的一种自监督学习方法。 BYOL 包含两个架构相同但参数不同的网络。BYOL 不需要…

SpringBoot 项目打成 .exe 程序

准备 准备工作: 1.一个jar包,没有bug能正常启动的jar包 2.exe4j,一个将jar转换成exe的工具 3.inno setup,一个将依赖和exe一起打成一个安装程序的工具 开始 以我为例子,我将jar包放在了桌面 打开安装好的exe4j 直…

面渣逆袭:Java并发六十问,快来看看你会多少道

这篇文章有点长,四万字,图文详解六十道Java并发面试题。人已经肝麻了,大家可以点赞、收藏慢慢看!扶我起来,我还能肝! 基础 1.并行跟并发有什么区别? 从操作系统的角度来看,线程是…

现在有哪些好用的企业报表软件?

简单来讲,企业报表就是“用表格、图表等格式来动态显示数据”,各行各业、每年每月,都需要通过报表来展示组织和人员在经营管理上的真实情况。当前大家常用的实现企业报表的方式包含代码开发、用 Excel 制作离线报表、开源产品、利用业务系统&…

基于遗传编程的符号回归

0 前言 作为一种监督学习方法,符号回归(symbolic regression)试图发现某种隐藏的数学公式,以此利用特征变量预测目标变量。 符号回归的具体实现方式是遗传算法(genetic algorithm)。一开始,一…

数字三角形问题

数字三角形问题一、题目描述二、题目分析1、问题分析2、思路分析(1)状态转移方程状态表示状态转移(2)循环的设计三、代码实现一、题目描述 二、题目分析 1、问题分析 这道题给我们的第一眼感觉就是情况太多了,太复杂…

虚拟化环境下,如何高效开展勒索病毒防护加固?

本文重点 近些年,勒索病毒攻击事件频发,由于其“难发现、难阻止、难破解”的特点,不少用户——尤其是使用虚拟化的金融、医疗、制造、公共服务等重要行业用户——已遭受严重数据与经济损失。勒索攻击的防控是一项系统性工程,除了…

2-2-3-9-1-1、jdk1.7HashMap详解

目录数据结构链表的作用链表问题数据结构简图源码解析重要成员变量说明构造函数put操作初始化数组Key为null的处理计算hash添加链表节点--新增Entry扩容缺点扩容死锁分析单线程扩容多线程扩容数据结构 jdk1.7的hashmap的底层结构是数组加单向链表实现的。将key的hash值进行取模…

深度学习环境搭建

深度学习环境搭建0.引言1.Jupyter Notebook1.1.ANACONDA安装1.2.基于conda安装Jupyter Notebook1.3.Jupyter Notebook使用2.Pycharm2.1.安装Pycharm2.2.Pycharm设置0.引言 一步步采坑更新。 1.Jupyter Notebook 官方文档 安装参考 通过安装Anaconda来解决Jupyter Notebook…

300行HTML+CSS+JS代码实现动态圣诞树

文章目录1. 前言2. 效果展示3. 准备🍑 下载编译器🍑 下载插件4. 源码🍑 HTML🍑 JS🍑 CSS5. 结语1. 前言 一年一度的圣诞节和考研即将来临,那么这篇文章将用到前端三大剑客 HTML CSS JS 来实现动态圣诞树…

Java面试题(六)多线程经典编程题

经典的多线程编程题猜数字游戏键盘输入练习3个线程轮流打印ABC多窗口买票猜数字游戏 题目说明:有2个线程,第一个线程A随机一个100内的数,第2个线程B来猜,B每次猜一个数后A会判断,如果猜对了程序结束,如果猜…

工具在接口测试中发挥什么样的作用?

接口测试究竟是什么?为什么要用接口测试?它有哪些工具呢?这一连串的问题敲击着我们,请带着这些问题,在本文中寻找答案,我将为您打开接口测试的大门。 1 初探接口测试 接口测试是什么。它检查数据的交换&…

从《我要投资》,看藏在“对立面”里的创业正解

文|智能相对论 作者|青月 六位07届的快乐男声选手在象山体验养鹅,意外出圈;随后播出的09届超女的怀旧综艺却热度一般,可见只有单纯的情怀消费并不能保证节目的口碑,只有建立在准确的节目定位与恰当的价值输出基础上,…

面试必备:从常见的存储引擎到混淆的锁分类,请上车

今天我们来总结一下MyISAM和InnoDB引擎下锁的种类及使用方法。 MySQL的四大常见存储引擎 谈到MyISAM和InnoDB了我们先来了解一下什么是存储引擎吧。MySQL中的数据用各种不同的技术存储在文件(或者内存)中,这些技术中的每一种技术都使用不同…

m基于贝叶斯理论的超分辨率重构算法matlab仿真,对比Tikhonov重构算法

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 超分辨率(Super-Resolution)通过硬件或软件的方法提高原有图像的分辨率,通过一系列低分辨率的图像来得到一幅高分辨率的图像过程就是超分辨率重建。超分辨率成像(SR-imagi…

一个内核oops问题的分析及解决

最近在调试设备时,遇到了一个偶发的开机死机问题。通过查看输出日志,发现内核报告了oops错误,如下所示(中间省略了部分日志,以......代替): Unable to handle kernel NULL pointer dereference…

YOLOV7学习记录之训练过程

在前面学习YOLOV7的过程中,我们已经学习了其网络结构,然而实际上YOLOV7项目的难点并不在于其网络模型而是在于其损失函数的设计,即如何才能训练出来合适的bbox。 神经网络模型都有训练和测试(推理)过程,在Y…