33 WEB漏洞-逻辑越权之水平垂直越权全解

news2024/11/23 15:14:40

目录

    • 前言
    • 水平,垂直越权,未授权访问
    • 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、永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤

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

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

相关文章

LockSupport是做什么的?深入理解Java的三种线程等待通知机制

文章目录 一、LockSupport概述1、LockSupport是什么2、三种等待唤醒机制3、其他线程等待唤醒方式(了解) 二、代码实例分析1、使用wait()notify()(1)代码实例(2)分析总结 2、使用await()signal()&#xff08…

乌班图20.04简易部署k8s+kuboard第三方面板

1. 问题: 使用官方只能说步骤挺全。 😄出错?出错不管,无论是系统问题,版本兼容问题,网络插件问题,还是防火墙问题,我只能说特异性问题分析检索起来很难很难。 新人很难搞懂&#x…

基于指数趋近律的机器人滑模轨迹跟踪控制算法及MATLAB仿真

机械手是工业制造领域中应用最广泛的自动化机械设备,广泛应用于工业制造、医疗、军工、半导体制造、太空探索等领域。它们虽然形式不同,但都有一个共同的特点,即能够接受指令,并能准确定位到三维(或二维)空间的某一点进行工作。由…

RabbitMQ之topic(主题)Exchange解读

目录 基本介绍 使用场景 演示架构 工程概述 RabbitConfig配置类:创建队列及交换机并进行绑定 MessageService业务类:发送消息及接收消息 主启动类RabbitMq01Application:实现ApplicationRunner接口 基本介绍 在rabbitmq中,…

【目标检测】大图包括标签切分,并转换成txt格式

前言 遥感图像比较大,通常需要切分成小块再进行训练,之前写过一篇关于大图裁切和拼接的文章【目标检测】图像裁剪/标签可视化/图像拼接处理脚本,不过当时的工作流是先将大图切分成小图,再在小图上进行标注,于是就不考…

[NewStarCTF 2023 公开赛道] week1 Crypto

brainfuck 题目描述&#xff1a; [>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<-]>>>>>>>.>----.<-----.>-----.>-----.<<<-.>>..…

深入了解归并排序:原理、性能分析与 Java 实现

归并排序&#xff08;Merge Sort&#xff09;是一种高效且稳定的排序算法&#xff0c;其优雅的分治策略使它成为排序领域的一颗明珠。它的核心思想是将一个未排序的数组分割成两个子数组&#xff0c;然后递归地对子数组进行排序&#xff0c;最后将这些排好序的子数组合并起来。…

在JavaScript中,什么是IIFE(Immediately Invoked Function Expression)?它的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

现代化战机之路:美国空军U-2侦察机基于Jenkins和k8s的CI/CD架构演进

▲ 点击上方"DevOps和k8s全栈技术"关注公众 华为北京研究所Q27大楼 随着技术的不断进步&#xff0c;军事领域也在积极采纳现代化工具来提高战备水平和效率。美国空军的U-2侦察机项目是一个鲜明的例子&#xff0c;它成功地借助Jenkins和Kubernetes&#xff08;k8s&…

Oracle修改数据之后提交事务如何回滚?

在 MySQL 和 Oracle 数据库中&#xff0c;事务提交后都无法回滚。 在 MySQL 中&#xff0c;恢复机制是通过回滚日志&#xff08;undo log&#xff09;实现的&#xff0c;所有事务进行的修改都会先记录到这个回滚日志中&#xff0c;然后在对数据库中的对应行进行写入。当事务已经…

IDE环境要注意统一编码,否则出现中文乱码找不到头绪

最近遇到在IDEA开发项目时&#xff0c;保存中文为乱码的现象&#xff0c;如图&#xff1a; 看了项目配置文件的编码都是UTF-8&#xff0c;在别的开发机上运行都正常&#xff0c;就是这台机器上有问题。 同事一时也找不到方法&#xff0c;因为没遇到同样的事情。 一直怀疑是编…

Spring源码解析——IOC之循环依赖处理

什么是循环依赖 循环依赖其实就是循环引用&#xff0c;也就是两个或则两个以上的bean互相持有对方&#xff0c;最终形成闭环。比如A依赖于B&#xff0c;B依赖于C&#xff0c;C又依赖于A。如下图所示&#xff1a; 注意&#xff0c;这里不是函数的循环调用&#xff0c;是对象的相…

tcpdump(三)命令行参数讲解(二)

一 tcpdump实战详解 骏马金龙tcpdump详解 强调&#xff1a; 注意区分选项参数和过滤条件 本文继上篇 网卡没有开启混杂模式 tcpdump默认开启混杂模式 --no-promiscuous-mode --> 可以指定在非混杂模式抓包 ① -vv 控制详细内容的输出 ② -s -s 长度: 可以只…

基于Java的社区生鲜在线电商平台设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

【排序算法】选择排序

文章目录 一&#xff1a;基本介绍1.1 概念1.2 算法思想1.3 思路分析图1.4 思路分析1.5 总结1.5.1 选择排序一共有数组大小-1轮排序1.5.2 每一轮排序&#xff0c;又是一个循环&#xff0c;循环的规则如下&#xff08;在代码中实现&#xff09;&#xff1a; 二&#xff1a;代码实…

大数据——Spark Streaming

是什么 Spark Streaming是一个可扩展、高吞吐、具有容错性的流式计算框架。 之前我们接触的spark-core和spark-sql都是离线批处理任务&#xff0c;每天定时处理数据&#xff0c;对于数据的实时性要求不高&#xff0c;一般都是T1的。但在企业任务中存在很多的实时性的任务需求&…

C#,数值计算——数据建模Fitexy的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { public class Fitexy { private double a { get; set; } private double b { get; set; } private double siga { get; set; } private double sigb { get; set; } …

快速搭建Springboot项目(一)

目录 第一章、Spring Boot框架介绍1.1&#xff09;Springboot是什么&#xff0c;有什么好处1.2&#xff09;spring boot的两大策略与四大核心 第二章、快速搭建spring boot 项目2.1&#xff09;idea快速创建spring boot项目2.2&#xff09;pom文件内容的含义2.3&#xff09;起步…

195、SpringBoot--配置RabbitMQ消息Broker的SSL 和 管理控制台的HTTPS

开启Rabbitmq的一些命令&#xff1a; 小黑窗输入&#xff1a; rabbitmq-plugins enable rabbitmq_management 启动控制台插件&#xff0c;就是启动登录rabbitmq控制台的页面 rabbitmq_management 代表了RabbitMQ的管理界面。 rabbitmq-server 启动rabbitMQ服务器 上面这个&…

springboot中的静态资源规则~

静态资源处理&#xff1a; 默认的静态资源路径为 calsspath:/META-INF/resources/ classpath:/resources/ classpath:/static/ classpath:/public/如果我们将静态资源放置上述四种路径处&#xff0c;那么可以通过项目根路径/静态资源名称的方式访问到&#xff0c;否则会访问不…