逻辑漏洞:初识水平越权与垂直越权

目录

1、什么是越权漏洞呢?

2、水平越权

3、垂直越权

4、burpsuite autorize插件


最近在学习逻辑漏洞的相关知识和技能,这里pikachu靶场作为演示进行学习一下:

pikachu靶场:GitHub - zhuifengshaonianhanlu/pikachu: 一个好玩的Web安全-漏洞测试平台

进入到水平越权和垂直越权的页面:

可以看到该靶场是这样介绍越权漏洞的:

如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。

一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。

因此,在在权限管理中应该遵守:
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;

1、什么是越权漏洞呢?

参考其他大佬总结的:

漏洞产生的原理:逻辑越权漏洞就是不同用户之间操作权限的请求数据包没有做验证或验证不完整,导致用户A修改了身份验证的标志后,就有了同权限或高权限的操作权限。

通常用户访问一个应用的大致流程是:登陆—验证权限—数据库查询—数据返回,如果”验证权限”这个阶段出现验证权限不足或没有验证,那么就会导致越权,用户A可以操作其他用户的内容。

逻辑越权分为两类:水平越权和垂直越权

水平越权-同级用户权限共享:用户信息获取时未对用户与ID比较判断直接查询等

垂直越权-低高用户权限共享:数据库中用户类型编号接受篡改或高权限操作未验证等

越权漏洞容易出现在权限页面(需要登陆的页面)增,删,改,查的地方,当用户对权限页面内的信息进行这些操作时,后台需要对当前用户的权限进行校验,看其是否具备操作权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。

2、水平越权

点击进入到进入到水平越权页面

可以看到是一个登录框,并且点击提示可以看到给出的账号和密码,那么就来尝试登录一下:

可以看到成功的登录

下面就需要对水平越权的概念进行一下理解了:水平越权-同级用户权限共享:用户信息获取时未对用户与ID比较判断直接查询等

那么我们就可以尝试在登录时抓包然后看是否存在可以修改用户ID的地方:

修改后,然后放包查看:

可以看到,本来我们在输入框输入的lucy用户,通过抓包修改,利用水平越权成功的登录到了lili用户中,那么如果这个情况出现在游戏账号中,一个不充钱的小白是不是可以越权到V10氪金大佬的账号中呢(当然没有那么容易)

3、垂直越权

点击进入到垂直越权页面:

可以看到页面也是一个登录框,并且提示我们这里有两个用户,

pikachu/000000

admin/123456

并且说明这个admin用户是超级boss

进行操作前我们再来看看垂直越权的概念:垂直越权-低高用户权限共享:数据库中用户类型编号接受篡改或高权限操作未验证等

那不用想了,一定是要用低权限的pikachu来越权到admin了

那么试试使用上面的方法,尝试登录pikachu用户,然后抓包将用户名和密码修改为管理员的:

然后放包:

可以看到成功的登录到了admin用户中,可以对所有的用户进行管理,这里也可以增加一个用户,留个小后门,防止管理员更改密码后无法登录

4、burpsuite autorize插件

下面介绍一个好用的越权burp autorize插件的使用,这里直接引用大佬的总结介绍:

Autorize 是一个旨在帮助渗透测试人员检测授权漏洞的扩展,这是 Web 应用程序渗透测试中比较耗时的任务之一。

将低权限用户的 cookie 提供给扩展程序并使用高权限用户浏览网站就足够了。该扩展会自动重复每个请求与低权限用户的会话并检测授权漏洞。

除了授权漏洞之外,还可以在没有任何 cookie 的情况下重复每个请求,以检测身份验证漏洞。

该插件无需任何配置即可工作,但也是高度可定制的,允许配置授权执行条件的粒度以及插件必须测试哪些请求,哪些不需要。可以保存插件的状态并以 HTML 或 CSV 格式导出授权测试报告。

报告的执行状态如下:

绕过!- 红色

强制执行!- 绿色

强制执行???(请配置强制检测器) - 黄色

安装方法参考:​越权检测 burp插件 autorize 使用-腾讯云开发者社区-腾讯云

然后还是用pikachu靶场来演示一下:

首先登录pikachu用户获取低权限的cookie:

然后放到autorize插件中:

尝试访问高权限用户:

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

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

相关文章

计算机服务器中了devicdata勒索病毒怎么办?Devicdata勒索病毒解密工具步骤

在这个网络飞速发展的时代,网络为企业的生产运营起到了关键性作用,利用网络可以开展各项工作业务,大大提高了企业生产效率与业务水平,在大家都为网络的便利感到欣慰时,网络数据安全问题,成为众多企业关心的…

go语言获取变量类型的4种方式

在go语言中我们常常需要获取某个变量的类型,其他语言如python可以使用 type(x), javascript中可以使用 typeof x 获取变量类型, Go 语言中我们也可以通过一下4种方式获取变量的类型。 1. 通过 fmt.Printf 的 %T 打印变量的类型; var x flo…

std::enable_shared_from_this 有什么意义?

问&#xff1a; 这是boost里面举的一个例子&#xff1a; class Y: public enable_shared_from_this<Y> { public:shared_ptr<Y> f(){return shared_from_this();} }int main() {shared_ptr<Y> p(new Y);shared_ptr<Y> q p->f();assert(p q);asser…

快手客户端一二面+美团前端一面+腾讯企业微信开发客户端一面

快手一面结志 1、自我介绍 2、对称加密非对称加密 3、TCP/UDP 4、在学校有什么课程是强项&#xff0c;说了过去几次面试中面到的C的语言基础知识 5、问C、Java中兴趣在哪里 6、问到项目&#xff0c;自己做的还是跟着学校老师做的&#xff0c;同样问到兴趣在哪里 7、LRU …

模型智能体开发之metagpt-多智能体实践

参考&#xff1a; metagpt环境配置参考模型智能体开发之metagpt-单智能体实践 需求分析 之前有过单智能体的测试case&#xff0c;但是现实生活场景是很复杂的&#xff0c;所以单智能体远远不能满足我们的诉求&#xff0c;所以仍然还需要了解多智能体的实现。通过多个role对动…

02 spring-boot+mybatis+elementui 的登录,文件上传,增删改查的入门级项目

前言 主要是来自于 朋友的需求 项目概况 就是一个 学生信息的增删改查 然后 具体到业务这边 使用 mybatis xml 来配置的增删改查 后端这边 springboot mybatis mysql fastjson hutool 的一个基础的增删改查的学习项目, 简单容易上手 前端这边 node14 vue element…

贪吃蛇小游戏(c语言)

1.效果展示 屏幕录制 2024-04-28 205129 2.基本功能 • 贪吃蛇地图绘制 • 蛇吃食物的功能 &#xff08;上、下、左、右方键控制蛇的动作&#xff09; • 蛇撞墙死亡 • 蛇撞自身死亡 • 计算得分 • 蛇身加速、减速 • 暂停游戏 3.技术要点 C语言函数、枚举、结构…

如何更好的使用cpm

nvidia发布了RAFT库&#xff0c;支持向量数据库的底层计算优化&#xff0c;RAFT 也使用CMake Package Manager( CPM )和rapids-cmake管理项目&#xff0c;可以方便快捷的下载到需要的对应版本的thirdparty的依赖库&#xff0c;但是&#xff0c;一般情况下&#xff0c;项目是直接…

C++多态(全)

多态 概念 调用函数的多种形态&#xff0c; 多态构成条件 1&#xff09;父子类完成虚函数的重写&#xff08;三同&#xff1a;函数名&#xff0c;参数&#xff0c;返回值相同&#xff09; 2&#xff09;父类的指针或者引用调用虚函数 虚函数 被virtual修饰的类成员函数 …

DSP开发实战教程-国产DSP替代进口TI DSP的使用技巧

1.替换CCS安装路径下的Flash.out文件 找到各自CCS的安装路径&#xff1a; D:\ti\ccs1230\ccs\ccs_base\c2000\flashAlgorithms 复制进芯电子国产DSP官网提供的配置文件 下载链接&#xff1a;https://mp.csdn.net/mp_download/manage/download/UpDetailed 2.替换原有文件 3.…

Python 深度学习(一)

原文&#xff1a;zh.annas-archive.org/md5/98cfb0b9095f1cf64732abfaa40d7b3a 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 序言 随着全球对人工智能的兴趣不断增长&#xff0c;深度学习引起了广泛的关注。每天&#xff0c;深度学习算法被广泛应用于不同行业。本书…

[GXYCTF 2019]BabyUpload

过滤 <? 且后缀不能有 php 上传1.jpg文件&#xff0c;内容为&#xff1a; <script languagephp>eval($_POST[cmd]);</script> 但文件后缀为.jpg&#xff0c;蚁剑不能连接。那怎么办呢&#xff1f; .htaccess文件&#xff1a;解析.jpg文件中的php代码 &#xf…

oracle的sqlplus默认会执行的脚本

我原来是知道sqlplus会默认执行$ORACLE_HOME/sqlplus/admin/glogin.sql这个脚本 今天在一个陌生的环境调用sqlplus时总会默认执行两条语句 但是就是找不到被执行的文件在哪里 后来发现是在环境变量 ORACLE_PATH下的login.sql文件 ORACLE_PATH这个环境变量是sqlplus这个工具使用…

【QEMU系统分析之实例篇(七)】

系列文章目录 第七章 QEMU系统仿真的机器创建分析实例 文章目录 系列文章目录第七章 QEMU系统仿真的机器创建分析实例 前言一、QEMU是什么&#xff1f;二、QEMU系统仿真的机器创建分析实例1.系统仿真的命令行参数2.目标机器创建过程3.cpu_exec_init_all()io_mem_init()memory_…

HTML_CSS学习:CSS选择器

一、通配选择器 相关代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>通配选择器</title><style>* {color: #1b8335;font-size: 40px;}/*可以选中所有的HTML元素*/<…

【C语言】——数据在内存中的存储

【C语言】——数据在内存中的存储 一、整数在内存中的存储1.1、整数的存储方式1.2、大小端字节序&#xff08;1&#xff09;大小端字节序的定义&#xff08;2&#xff09;判断大小端 1.3、整型练习 二、浮点数在内存中的存储2.1、引言2.2、浮点数的存储规则2.3、浮点数的存储过…

macbookproM2通过docker安装CDH

背景&#xff1a;项目中用的CDH大数据集群&#xff0c;但是自己的电脑上是MacM芯片的系统&#xff0c;网上在arm架构上搭建CDH集群的资料太少了&#xff0c;所以自己尝试搭建并且梳理一下文档 一、启动docker 我安装的是桌面版的docker 二、搜索CDH的镜像&#xff0c;然后拉…

【八大排序(三)】快速排序

❣博主主页: 33的博客❣ ▶️文章专栏分类:八大排序◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多排序知识 目录 1.前言2.快速排序2.1概念2.2画图理解2.3递归代码实现2.3.1Hoare法2.3.2挖坑法2.3.3前…

【介绍下OneFlow概念清单】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

智能健康管理系统的一次新体验

智能健康管理系统是一个集成了多方面数据资源&#xff0c;并配合人工智能算法的健康管理系统。该系统的应用涉及多个领域&#xff0c;包括医学、科学、生态和医疗保健等。其服务对象包括健康人群、亚健康人群和疾病人群&#xff0c;旨在通过病因预防、临床前期预防和临床预防三…