33 WEB漏洞-逻辑越权之水平垂直越权全解
目录
- 前言
- 水平,垂直越权,未授权访问
- Pikachu-本地水平垂直越权演示(漏洞成因)
- 墨者水平-身份认证失效漏洞实战(漏洞成因)
- 原理
- 越权检测-Burpsuite插件Authz安装测试(插件使用)
- 修复防御方案
前言
越权漏洞文章分享:https://www.cnblogs.com/zhengna/p/15650939.html
越权归类到业务逻辑上面,叫业务逻辑漏洞会比较好一点
同级别的用户越权称为水平越权,以普通用户的权限行使高权限用户的权限就是垂直越权
水平,垂直越权,未授权访问
解释,原理,检测,利用,防御等
通过更换的某个ID之类的身份标识,从而使A账号获取 (修改、删除等)B账号数据。
使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限的操作。通过删除请求中的认证信息后重放该请求,依旧可以访问或者完成操作。
比如说后台地址、后台里面操作的应用,这个时候你不需要登录,直接操作,就属于未授权访问,他没有进行一些权限的验证,导致的一种安全问题
懂了攻击,防御就是那么回事了
越权漏洞不限于各种脚本,因为前期在学漏洞的时候,大家可能会发现有些漏洞可能会受到数据库类型的区分,所以攻击具有多样性,但是越权漏洞不会与网站脚本、网站搭建情况有关系,这个漏洞是通用漏洞
只要是网站或者业务系统,越权漏洞都是一码事情,没有什么特别的一些东西要说
Pikachu-本地水平垂直越权演示(漏洞成因)
抓包,修改用户名,放包,发现个人信息全部更改了,说明存在越权漏洞,这就是典型的水平越权漏洞
通过前期的信息收集能够得到其它用户的用户名,有一些网站他有一个注册功能,注册的时候能够通过注册一些用户名,有时候他会提示你用户名存在,那么就是说这个用户是存在的;有一些网站能够通过访问其它个人空间,能够看到当前人的用户名
越权漏洞跟我们后面漏洞有很大的关系,像我们前面讲过的sql注入,文件上传,利用的话,直接就能够获取到网站的数据和权限,这个漏洞好像只能获取到一些人的其它信息,操作一下
不管是网站还是挖漏洞的平台也好,一般都是会收这个漏洞的,因为大部分网站是强调个人信息的安全性,如果有这个漏洞就会危害到其他人的信息安全,这也是他成为高危漏洞的原因
如果我们做网站的一个实战入侵的话,说你要获取到网站的权限,这个漏洞即使有,也不一定能够帮助你拿到网站权限,水平越权帮助不大,但是垂直越权会帮助大一些,因为垂直越权使可以跨级别的一个操作
抓添加用户的数据包是从admin用户那边抓的数据包,如果没有这个数据包,我们就无法添加用户,所以说这个条件是需要满足的;可以盲猜,根据当前用户上面界面的情况,去猜测管理员可能存在的功能,去猜测和构造数据包;知道网站的源码,那么我们可以去网站上面下载这个源码,下载之后,放到本地去测试,这个时候我们把管理员的数据包抓到,在放到我们真实的目标里面去,这也是获取数据包的方式;如果获取不到数据包的话,那这种垂直越权,你想要操作他的话就不行
在实战当中,如果我们有管理员用户,那我们其实登录进去就完事了,不用去越权
垂直越权:添加用户
前提条件:获取添加用户的数据包
怎么来的数据包:
1.普通用户前端有操作界面可以抓取数据包
2.通过网站源码本地搭建自己去模拟抓取
3.盲猜
墨者水平-身份认证失效漏洞实战(漏洞成因)
越权漏洞可能会涉及到未授权访问,如果网站在登录这里判断不好的话,其实我们可以通过这个漏洞直接进去到管理界面
card_id:每个用户的编号
通过操作这个编号,就能够实现对这个用户的地址访问
通过一个普通用户,他里面的id值,然后更改这个id值,实现读到其它用户的数据,这个时候我们观察一下漏洞的情况和一些个人信息的地址链接,因为在地址上面可能是他的一些编号
原理
前端安全造成:验证写在前端界面,不是在后端进行处理,代码在前端页面这个地方,只有判断用户是不是管理员,完了之后再把界面进行展示
他只是做了判断给与你操作的功能,不是说这个功能没有
后端安全造成:数据库
通过groupid来判断用户的级别,来给与相对应的操作权限
user表(管理员和普通用户同表)
id,username,password,usertype
1,admin,123456,1
2,xiaodi,11111,2
登录用户admin或xiaodi时,代码是如何验证这个级别? (usertype判断)
如果在访问数据包中有传输用户的编号、用户组编号或类型编号的时候,那么尝试对这个值进行修改,这是测试越权漏洞的基本。
uid、groupid、usertype
越权检测-Burpsuite插件Authz安装测试(插件使用)
先登录一个用户,然后让这个用户去触发一些数据包,把另一个用户登录凭据写上去就完事了;把要触发的数据包全部选取,点击run,就会对数据包进行尝试触发,下面为绿颜色的就代表状态码为200,对方没有拦截,它就认定为存在越权漏洞
authz存在误报,在使用插件进行检测的时候,要注意验证
authz文章介绍:
https://blog.csdn.net/weixin_50464560/article/details/120211325
AuthMatrix文章介绍:
https://blog.csdn.net/qq_42322144/article/details/112462703
越权漏洞在利用的时候,用它来做权限的获取,这种漏洞其实意义不是很大,除非说是垂直越权,能够拿到管理员权限,然后在管理员权限里面做一些操作来拿到网站权限,也就是上传后门,如果是水平越权,那跟拿到网站的权限还是有很大距离的
越权漏洞在提交到SRC平台的时候是没有问题的,因为这个漏洞涉及的是用户的安全
修复防御方案
1、前后端同时对用户输入信息进行校验,双重验证机制
2、调用功能前验证用户是否有权限调用相关功能
3、执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
4、直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理
5、永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤
相关文章:

33 WEB漏洞-逻辑越权之水平垂直越权全解
目录 前言水平,垂直越权,未授权访问Pikachu-本地水平垂直越权演示(漏洞成因)墨者水平-身份认证失效漏洞实战(漏洞成因)原理越权检测-Burpsuite插件Authz安装测试(插件使用)修复防御方案 前言 越权漏洞文章分享:https://www.cnblogs.com/zhen…...

【FreeRTOS】【STM32】02 FreeRTOS 移植
基于 [野火]《FreeRTOS%20内核实现与应用开发实战—基于STM32》 正点原子《STM32F429FreeRTOS开发手册_V1.2》 准备 基础工程,例如点灯 FreeRTOS 系统源码 FreeRTOS 移植 上一章节已经说明了Free RTOS的源码文件在移植时所需要的,FreeRTOS 为我们提供…...

STM32F4X 内部FLASH使用
STM32F4X 内部FLASH使用 STM32F4X 内部FLASHSTM32F4X内部FLASH结构STM32F40X和STM32F41X内部FLASH结构STM32F42X和STM32F43X内部FLASH结构 STM32F4X内部FLASH操作例程internal_flash.hinternal_flash.cmain.c 在嵌入式开发中,经常需要实时保存一些数据。如果工程的代…...
减小windows或linux虚拟机导出ova体积大小
减小windows或linux虚拟机导出ova体积大小 删除无用的文件,比如日志或者命令,程序等;去除磁盘碎片将不用的内存空间填充为0,便于vmdk压缩。 例子: 日志文件置空: 批量置空 /sf/data/log/ 目录下的日志文…...
WPF livecharts 折线图遮挡数字问题
在WPF里使用livecharts,如果折线图或者柱状图有多个的时候,可能会出现两个数字遮挡问题,这时候要设置DataLabelsTemplate 属性。 如LineSeries设置代码如下: 第一个折线图的DataLabelsTemplate var stackPanelFactory new Fra…...

电力系统数字化升级改造之配电室无人值守
随着科技的不断进步,电力系统的数字化升级改造已成为必然趋势。其中,配电室的无人值守是其中重要的一环。 配电室是电力系统的重要组成部分,其运行状态直接影响到电力系统的稳定性和可靠性。然而,传统的配电室存在很多问题&am…...
集合Set
目录 一、去重问题 一、去重问题 题目描述: 小明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性他先用计算机生成了N个1~1000之间的随机整数(N<1000),N是用户输入的,对于其中重复的数字,只保留一个&am…...

TCP/IP(二)导论
一 知识铺垫 以下内容参照 <<电子科技大学TCPIP协议原理>>全 ① 协议和标准 一组规则: 交通规则、学生上学的学生守则等;数据通信的规则,有一个专门的名称叫作协议 protocol语义:具体描述在通信当中,每一个信息的具体含义. 二进制bit流…...
Java之UDP,TCP的详细解析
练习四:文件名重复 public class UUIDTest { public static void main(String[] args) { String str UUID.randomUUID().toString().replace("-", ""); System.out.println(str);//9f15b8c356c54f55bfcb0ee3023fce8a } } public class Client…...
【总结】kubernates crd client-java 关于自定义资源的增删改查
Java model 准备 首先使用 crd.yml 和 kubernetes CRD 自动生成 Java model 类,这是一切的前提,之前在这个地方也卡了很久。如何生成在另外一个文章中已经有所记录。 使用 crd.yml 和 kubernetes CRD 自动生成 Java model 类 CustomObjectsApi 文档学习…...
蓝牙主要知识,一文概览
蓝牙知识相关 文章目录 蓝牙知识相关1.蓝牙版本的发展简史2.低功耗BLE PHY2.1 频段**2.2 BLE调制方案—GFSK**2.3 **蓝牙 LE 传输速度、功率和接收器灵敏度**2.4 **BLE 时分双工 (TDD)**3.BT主从连接过程3.1 主设备工作模式3.1.1 积木编程控制台3.2 从设备工作模式3.2.1 蓝牙遥…...

Linux 守护进程
一 何为守护进程 守护进程( Daemon )也称为精灵进程,是运行在后台的一种特殊进程,它独立于控制终端并且周期性 地执行某种任务或等待处理某些事情的发生,主要表现为以下两个特点: 长期运行。守护进程是一…...

自动驾驶技术的基础知识
自动驾驶技术是现代汽车工业中的一项革命性发展,它正在改变着我们对交通和出行的理解。本文将介绍自动驾驶技术的基础知识,包括其概念、历史发展、分类以及关键技术要素。 1. 自动驾驶概念 自动驾驶是一种先进的交通技术,它允许汽车在没有人…...

解决:yarn 无法加载文件 “C:\Users\XXXXX\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本“ 的问题
1、问题描述: 报错的整体代码为: yarn : 无法加载文件 C:\Users\admin\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本 // 整体的报错代码为 : yarn : 无法加载文件 C:\Users\admin\AppData\Roaming\npm\yarn.ps1&…...

【JVM--StringTable字符串常量池】
文章目录 1. String 的基本特性2. 字符串拼接操作3. intern()的使用4. StringTable 的垃圾回收 1. String 的基本特性 String 声明为 final 的,不可被继承String 实现了 Serializable 接口:表示字符串是支持序列化的。String 实现了 Comparable 接口&am…...
Large Language Models Meet Knowledge Graphs to Answer Factoid Questions
本文是LLM系列文章,针对《Large Language Models Meet Knowledge Graphs to Answer Factoid Questions》的翻译。 大型语言模型与知识图谱相遇,回答虚假问题 摘要1 引言2 相关工作3 提出的方法4 实验设计5 结果与讨论6 结论 摘要 最近,有研…...

blender 之视频渲染(以三维重建path为例)
blender 之视频渲染(以三维重建path为例) 1.新建轨迹路径2.设置相机,使其按照path运动3.将相机视角对准物体4.修改帧率5.设置输出路径6.设置输出格式7.渲染 1.新建轨迹路径 新建轨迹 选中新建的BezierCycle,按住S,拖…...
leetcode做题笔记166. 分数到小数
给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以 字符串形式返回小数 。 如果小数部分为循环小数,则将循环的部分括在括号内。 如果存在多个答案,只需返回 任意一个 。 对于所有给定的输入,保证 …...

Android Studio新建项目缓慢解决方案
关于Android Studio2022新建项目时下载依赖慢的解决方案 起因解决方案gradle下载慢解决方案kotlin依赖下载慢解决方案 结尾 起因 新建Android Studio项目时,常会因为网络问题导致部分依赖下载缓慢,其中gradle和kotlin最拖慢进度。 解决方案 gradle下载…...

AmdU (5-azidomethyl-2‘-deoxyuridine)的反应原理|59090-48-1
产品简介:叠氮甲基dU(AmdU)是一种核苷类化合物,它含有叠氮基团,这种结构特点使其在细胞学和生物学领域得到了广泛应用。与胸腺嘧啶核苷相似的结构,使得叠氮甲基dU(AmdU)能够被细胞聚…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...