逻辑漏洞之越权访问总结

什么是越权访问漏洞?

“越权访问漏洞” 是 “逻辑漏洞” 的一种,是由于网站系统的权限校验的逻辑不够严谨,没有对用户权限进行严格的身份鉴别,导致普通权限的用户做到了其它普通用户或管理员才能完成的操作,称之为“越权访问”。

越权漏洞分类

越权漏洞我个人把它分为三类:

  • 水平越权:原本只能操作自己的数据,如增删改查,通过越权操作,能操作其它同等权限的账号数据。
  • 垂直越权:账号原本是低权限,通过越权操作,获取了高权限。
  • 未授权访问:即不需要登录认证,通过越权操作,直接获得了某个功能权限。
水平越权:

首先使用 lili 的账号进行登录
在这里插入图片描述
点击查看个人信息,抓包
在这里插入图片描述
将用户名 lili 改成 lucy ,放包
在这里插入图片描述
在这里插入图片描述
成功水平越权,获得lucy的个人信息。

垂直越权:

先使用 admin 账户登录
在这里插入图片描述
然后点击添加用户,抓包并放到重放器
在这里插入图片描述
接着用普通用户pikachu登录,密码:000000;抓包,将pikachu的cookie替换到admin的cookie并发包;
在这里插入图片描述
在这里插入图片描述
利用普通用户的权限创建了新用户,垂直越权成功。

发现越权漏洞的思路

越权漏洞产生的原因:

想要发现越权漏洞,就要知道漏洞出现的原因;越权漏洞的出现大致有以下几种场景:

1、隐藏 URL :

  • 有些程序的管理页面只有管理员才会显示,普通用户无法看不到,程序开发人员利用 URL 实现访问控制。但若URL 泄露或被恶意攻击者猜到后,这会导致普通用户访问导致出现越权攻击。

2、直接对象引用:

  • 这种通过修改验证参数就可以模拟成其他用户进行访问。例如:查看用户信息页面 URL 后加上自己的 id 便可查看,当修改为他人的 ID 号时会返回他人的信息,便产生了水平越权。

3、多阶段功能处疏忽:

  • 多阶段功能是一个功能由多个阶段来进行实现。例如:修改密码,可能第一步是验证用户身份信息,号码验证码类的。当验证成功后,跳到第二步,输入新密码,很多程序会在这一步不再验证用户身份,导致恶意攻击者抓包直接修改标识身份参数值,导致可修改其他用户密码。

4、静态文件下载疏忽:

  • 很多网站的下载功能,一些被下载的静态文件,可能只有付费用户或会员可下载。但当这些文件的 URL 地址泄露后,导致任何人可下载,如果知道 URL 命名规则,则会便利服务器的收费文档进行批量下载。

5、平台验证权限配置错误:

  • 一些程序会通过控件来限制用户的访问。例如后台地址,普通用户不属于管理员组,则不能访问。但当配置平台或配置控件错误时,就会出现越权访问。
发现漏洞的思路:
  • 使用已登陆账户访问页面的URL让未登录用户直接访问,根据是否能访问判断是否由未授权访问。

  • 使用普通账户标识信息去替换其他普通账户标识,根据是否能进行访问判断是否有水平越权漏洞。

  • 使用普通账户标识信息去替换管理员账户标识,根据是否能进行访问判断是否有垂直越权漏洞。

越权漏洞从方式上可分为两大类:

  • 未使用 cookie 鉴权,通过修改 userid 等字段进行越权。

  • 使用 cookie 鉴权,未检测对应操作是否符合当前权限预期。

测试工具

可以使用Burp扩展:Autorize,来快速测试垂直越权和未授权访问。

还是以 pikachu 靶场为例

先登录低权限 pikachu 用户(密码:000000),然后点击 Fetch Cookies header,会从最近一次请求历史中提取cookie
在这里插入图片描述
然后登录 admin(密码:123456)用户,再点击 autorize is off 打开该插件(autorize is on为开启状态)。
在这里插入图片描述
然后在 admin 权限下,快速点击所有可以点击的接口(要保证两个cookie 都未过期)。
在这里插入图片描述
然后就可以看到,右边三个框发的包,分别是:

  • 原始cookie的请求
  • 修改后cookie的请求(就是之前复制进去的那个低权限cookie)
  • 无cookie请求

那么与之相对的左边那几个带颜色的就是测试结果,红色存在越权,黄色代表不确定,绿色代表没问题。

  • 左边一列 红色代表存在越权可能
  • 右边一列 红色代表存在未授权访问可能

可以点击 三个代表响应长度的数字,分别是原始长度,替换低权限后的长度,以及未授权的长度,在右侧查看具体响应,根据长度也可以判断结果了。

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

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

相关文章

超短波通信模拟设备:增强通信能力的关键工具

在全球信息化战争的背景下,通信系统扮演着至关重要的角色。为确保通信系统的稳定性和抗干扰能力,超短波通信模拟设备应运而生,为军事训练和通信干扰任务提供强大的支持。 设备特点及优势 便携性:设备体积小、重量轻,…

C++STL——容器-vector(含部分模拟实现,即地层实现原理)(含迭代器失效问题)

目录 容器——vector 1.构造 模拟实现 2.迭代器 模拟实现: ​编辑 3.容量 模拟实现: 4.元素的访问 模拟实现 5.元素的增删查改 迭代器失效问题: 思考问题 【注】:这里的模拟实现所写的参数以及返回值,都是…

Ubuntu交叉编译器工具链安装

声明 本博客所记录的关于正点原子i.MX6ULL开发板的学习笔记,(内容参照正点原子I.MX6U嵌入式linux驱动开发指南,可在正点原子官方获取正点原子Linux开发板 — 正点原子资料下载中心 1.0.0 文档),旨在如实记录我在学校学…

Tomcat 部署 Jenkins.war 详细教程(含常见问题解决)

在Tomcat中部署Jenkins.war文件是一个相对简单的过程,以下是详细步骤: 1. 准备工作 确保已安装JDK:Jenkins需要Java环境,建议安装JDK 8或更高版本。 下载Jenkins.war:https://pan.quark.cn/s/c4fd7711a1b3 下载Tomc…

DAY46 动态规划Ⅸ 股票问题Ⅱ

188. 买卖股票的最佳时机 IV - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int maxProfit(int k, vector<int>& prices) {if(prices.size()0) return 0;vector<vector<int>>dp(prices.size(),vector<int>(2*k1,0));for(int i…

4月2日工作日志

一个朴实无华的目录 今日学习内容&#xff1a;1.UIAbility生命周期2.默认启动页面设置3.同模块唤起ability 今日实操内容&#xff1a; 今日学习内容&#xff1a; 1.UIAbility生命周期 2.默认启动页面设置 3.同模块唤起ability 今日实操内容&#xff1a; 通过分组件文件&#…

鸿蒙学习笔记(4)-Radio组件、弹框组件、组件内部状态、工具类

一、Radio组件 &#xff08;1&#xff09;简述 创建单选框组件。接收一个RadioOptions类型对象参数。 名称类型必填说明valuestring是 当前单选框的值。 groupstring是 当前单选框的所属群组名称&#xff0c;相同group的Radio只能有一个被选中。 indicatorType12RadioIndica…

111.在 Vue 3 中使用 OpenLayers 实现动态曲线流动图(类似 ECharts 迁徙状态)

在数据可视化领域&#xff0c;ECharts 提供的 迁徙图&#xff08;流动图&#xff09; 是一种直观展示数据流动的方式&#xff0c;如人口迁徙、物流流向等。我们可以使用 OpenLayers 结合 Vue 3 来实现类似的 动态曲线流动图&#xff0c;从而在 Web GIS 项目中提供更生动的可视化…

全栈开发项目实战——AI智能聊天机器人

文章目录 一&#xff1a;项目技术栈和代码分析1.前端技术栈&#xff08;1&#xff09;HTML&#xff08;index.html&#xff09;&#xff1a;&#xff08;2&#xff09;CSS&#xff08;styles.css&#xff09;&#xff1a;&#xff08;3&#xff09;JavaScript&#xff08;scrip…

无人机机体结构设计要点与难点!

一、无人机机体结构设计要点 1. 类型与应用场景匹配 固定翼无人机&#xff1a;需优化机翼升阻比&#xff0c;采用流线型机身降低气动阻力&#xff08;如大展弦比机翼设计&#xff09;。 多旋翼无人机&#xff1a;注重轻量化框架和对称布局&#xff08;如四轴/六轴碳纤维机…

eBest AI智能报表:用自然语言对话解锁企业数据生产力

告别传统数据迷宫&#xff0c;让业务洞察"开口即得" 【数据价值被困在系统迷宫中】​ 在数字化转型的深水区&#xff0c;80%的企业正被数据孤岛和越来越多&#xff0c;也越来越复杂的系统所困扰。 • 操作黑洞&#xff1a;用户平均通过6次筛选和层级跳转才能触达目标…

Linux 编程环境

文章目录 VimGCCGDBMake Vim Vim GCC GCC&#xff08;GNU Compiler Collection&#xff09;是一款编译语言编译器&#xff0c;此项目最早由GNU计划的发起者理查德 斯托曼开始实施。第一版GCC于1987年发行&#xff0c;最初的GCC代表GNU C Compiler&#xff0c;即GNU的C语言编…

JSONP跨域访问漏洞

一、漏洞一:利用回调GetCookie <?php$conn new mysqli(127.0.0.1,root,root,learn) or die("数据库连接不成功"); $conn->set_charset(utf8); $sql "select articleid,author,viewcount,creattime from learn3 where articleid < 5"; $result…

JuiceFS vs HDFS,最简单的 JuiceFS 入门

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等希望看什么,评论或者私信告诉我! 文章目录 一、背景二、JuiceFS 入门2.1 核心特性2.2 JuiceFS 架构2.3 JuiceFS 如何存储文…

音频进阶学习二十四——IIR滤波器设计方法

文章目录 前言一、滤波器设计要求1.选频滤波器种类2.通带、阻带、过度带3.滤波器设计指标 二、IIR滤波器的设计过程1.设计方法2.常见的模拟滤波器设计1&#xff09;巴特沃斯滤波器&#xff08;Butterworth Filter&#xff09;2&#xff09;切比雪夫滤波器&#xff08;Chebyshev…

vue3源码分析 -- runtime

runtime运行时&#xff0c;主要在packages/runtime-core目录下&#xff0c;核心提供了h、render等函数。在理解它们之前&#xff0c;我们需要了解下HTML DOM 树和虚拟 DOM等概念 HTML DOM 树 通过节点构成的一个树形结构&#xff0c;我们称为HTML DOM节点树。DOM 文档里面做了…

清明假期在即

2025年4月2日&#xff0c;6~22℃&#xff0c;一般 遇见的事&#xff1a;这么都是清明出去玩&#xff1f;你们不扫墓的么。 感受到的情绪&#xff1a;当精力不放在一个人身上&#xff0c;你就会看到很多人&#xff0c;其实可以去接触的。 反思&#xff1a;抖音上那么多不幸和幸…

tomcat 目录结构组成

文章目录 背景文件结构层级一些常用的路径 背景 现在非常多的 java web 服务部署在 linux 服务器中&#xff0c;我们服务器中的 tomcat 会有各种文件路径&#xff0c;看下它有哪些文件 文件结构层级 ├── bin/ # 核心脚本和启动文件 ├── conf/ # …

多层内网渗透测试虚拟仿真实验环境(Tomcat、ladon64、frp、Weblogic、权限维持、SSH Server Wrapper后门)

在线环境:https://www.yijinglab.com/ 拓扑图 信息收集 IP地址扫描 确定目标IP为10.1.1.121 全端口扫描 访问靶机8080端口,发现目标是一个Tomcat服务,版本

NOIP2010提高组.引水入城

*前置题目 901. 滑雪 #include <iostream> #include <algorithm> #include <cstring>using namespace std;const int N 310, INF 0x3f3f3f3f; const int dx[4] {0, -1, 0, 1}, dy[4] {1, 0, -1, 0};int n, m, h[N][N]; int f[N][N]; int ans;int dfs(i…