【渗透测试】垂直越权(高危)、水平越权(中危)

news2025/1/18 20:15:42

目录

    • 一、简介
      • 1.1 水平越权(中危)
      • 1.2 垂直越权(高危)
      • 1.3 方便记忆方法
    • 二、修复方案
      • 2.1 水平越权修复
      • 2.2 垂直越权修复

一、简介

1.1 水平越权(中危)

漏洞危害:

水平越权 是相同级别(权限)的用户或者同一角色中不同的用户之间,可以越权访问、修改或者删除其他用户信息的非法操作。如果出现此漏洞,可能会造成大批量数据的泄露,严重的甚至会造成用户信息被恶意篡改。

解决建议:

完善权限验证措施,自己的身份只能查看、修改、删除、添加自己的信息。

1.2 垂直越权(高危)

漏洞危害:

垂直越权 是不同级别之间或不同角色之间的越权,垂直越权还可以分为向上越权和向下越权。向上越权指的是一个低级别用户尝试访问高级别用户的资源,比如说某个系统分为普通用户和管理员用户,管理员有系统管理功能,而普通用户没有,那我们就可以理解成管理功能具备垂直权限划分,如果普通用户能利用某种攻击手段访问到管理功能,那我们就称之为向上越权。向下越权是一个高级别用户访问低级别用户信息,读取到低级用户的个人信息。

解决建议:

完善权限验证措施,自己的身份只能查看、修改、删除、添加自己的信息。

1.3 方便记忆方法

针对 水平越权垂直越权 问题,我们日常开发中经常遇到,但是经常混淆。有一个办法可以帮助大家记忆和理解。

我们可以把数据库中的数据想象成一个图书馆的书架。

图书馆的书架中,每一行与行之间代表的不同的类别,相当于角色;每一本书可以摆放在各种类别的架子上,相当于用户。这样我们就好理解水平越权和垂直越权了:

  • 水平越权: 相同角色权限下,可以跨用户操作。比如:修改别人创建的数据。
  • 垂直越权: 不同角色权限下,可以跨角色操作。比如:访问权限之外的页面。

在这里插入图片描述

二、修复方案

2.1 水平越权修复

修复水平越权漏洞,需要分两步:

  1. 在数据库中新增创建人标识字段,要求可以唯一标识创建人。
  2. 前端、后端都要在查询、操作接口根据当前用户进行校验。

2.2 垂直越权修复

修复垂直越权漏洞,除了前端需要控制菜单、页面的显示之外,后端接口也需要根据权限来控制访问权限,可以利用 Security、Shiro 的注解来实现。

整理完毕,完结撒花

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

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

相关文章

LangChain+LLM实战---私有化部署RAG大模型,ChatGLM2-6B、Baichuan2-13B

图1:RAG的架构流程 经过之前一段时间的捣腾,个人感觉我们的RAG应用已经来到了一个全新的层面,在语义理解(相关度)和准确度上都有了长足进步。 但是问题来了。之前和菊厂的业务交流中,对方明确提出一些客户…

Android 扩大View可点击区域范围

有时候会遇到这种需求:本身控件显示在很小的范围内,但是要求扩大可点击的区域。根据官方文档https://developer.android.com/develop/ui/views/touch-and-input/gestures/viewgroup?hlzh-cn#delegate可以得知通过 TouchDelegate 类,让父视图…

Qt 各种数据类型

目录 1. 基础类型 2. log 输出 3. 字符串类型 3.2 QByteArray 构造函数 数据操作 子字符串查找和判断 遍历 查看字节数 类型转换 3.3 QString 4. QVariant 4.1 标准类型 4.2 自定义类型 5. 位置和尺寸 5.1 QPoint 5.2 QLine 5.3 QSize 5.4 QRect 6. 日期和…

Halcon WPF 开发学习笔记(0):开篇介绍

文章目录 文章专栏Halcon是什么?安装教学视频链接简单来说 Halcon快速开发环境确认新建项目 文章专栏 Halcon开发 Halcon是什么? 史上最全VisionPro和Halcon 的详细对比 Halcon简述 Halcon基础大全(基础算子、高阶算子、数组、分割、字符检测…

AI视频智能分析系统在线监测垃圾满溢/堆放/暴露解决方案

一、背景需求 随着我国城市化进程的加快和居民生活水平的提高,垃圾围城的现象越来越严重。垃圾桶溢满、垃圾长时间暴露等现象,不仅严重污染了生态环境,同时也极大影响了市容市貌,并且对居民的身体健康也构成了威胁,因…

Figma软件的缺点和替代软件推荐

说到Figma软件,相信没有人不知道设计行业的人,尤去年Adobe以200亿美元收购Figma软件的消息,对设计行业影响很大。可想而知,Figma软件在设计行业人士眼中的地位是毋庸置疑的。的确,Figma软件的功能非常强大,…

JavaScript_document对象_方法_创建元素

1、document.createElement() document.createElement方法用来生成元素节点,并返回该节点 2、document.createTextNode() document.createTextNode方法用来生成文本节点(Text实例),并返回该节点。它的参数是文本节点的内容 3、…

Win系统强制删除文件/文件夹

Win系统强制删除文件/文件夹 前言系统磁盘清理360强制删除NPM删除 前言 Win系统的用户删除文件/文件夹时,可能由于权限问题导致文件无法正常删除,下文介绍解决方案。当常规的删除不起作用时,可使用如下方案进行删除,包含系统磁盘…

V-REP和Python的联合仿真

机器人仿真软件 各类免费的的机器人仿真软件优缺点汇总_robot 仿真 软件收费么_dyannacon的博客-CSDN博客 课程地址 https://class.guyuehome.com/p/t_pc/course_pc_detail/column/p_605af87be4b007b4183a42e7 课程资料 guyueclass: 古月学院课程代码 旋转变换 旋转的左乘与…

灵魂拷问:读取 excel 测试数据真的慢吗?

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

64位Office API声明语句第112讲

跟我学VBA,我这里专注VBA, 授人以渔。我98年开始,从源码接触VBA已经20余年了,随着年龄的增长,越来越觉得有必要把这项技能传递给需要这项技术的职场人员。希望职场和数据打交道的朋友,都来学习VBA,利用VBA,起码可以提高…

Linux开发工具的使用(vim、gcc/g++ 、make/makefile)

文章目录 一 :vim1:vim基本概念2:vim的常用三种模式3:vim三种模式的相互转换4:vim命令模式下的命令集- 移动光标-删除文字-剪切/删除-复制-替换-撤销和恢复-跳转至指定行 5:vim底行模式下的命令集 二:gcc/g1:gcc/g的作用2:gcc/g的语法3:预处理4:编译5:汇编6:链接7:函…

【ARFoundation学习笔记】ARFoundation基础(下)

写在前面的话 本系列笔记旨在记录作者在学习Unity中的AR开发过程中需要记录的问题和知识点。难免出现纰漏,更多详细内容请阅读原文。 文章目录 TrackablesTrackableManager可跟踪对象事件管理可跟踪对象 Session管理 Trackables 在AR Foundation中,平面…

大厂面试题-b树和b+树的理解

为了更清晰的解答这个问题,从三个方面来回答: a.了解二叉树、AVL树、B树的概念 b.B树和B树的应用场景 1.B树是一种多路平衡查找树,为了更形象的理解,我们来看这张图。 二叉树,每个节点支持两个分支的树结构&#xff…

第十五届全国交通运输领域青年学术会议,和鲸 Heywhale 携手龙船科技联合发布科研服务解决方案

2023年10月29日,由中国交通运输协会青年科技工作者工作委员会主办,集美大学承办的“第十五届全国交通运输领域青年学术会议”在一片热烈的氛围中圆满落幕。 本届会议以“低碳•智能•安全•可持续综合交通发展创新”为主题,围绕综合立体交通…

JavaScript_document对象_方法_获取元素

1、document.getElementsByTagName 2、 document.getElementsByClassName() document.getElementsByClassName方法返回一个类似数组的对象(HTMLCollection实例),包括了所有class名字符合指定条件的元素,元素的变化实时反映在返回…

FL Studio21.2中文高级版数字音乐工作站(DAW)

FL Studio是一款功能强大的数字音乐工作站(DAW),软件提供了丰富的功能和工具,使音乐制作变得更加轻松和富有创意性。而在其中,一个关键的功能就是Fruity Wrapper,它在FL Studio中扮演着重要的角色。接下来给…

idea必装插件EditStarters(快速引入依赖)

前言 一般来说我们要向一个 servlet 或者 Spring 项目中引入依赖都需要先到中心仓库找到对应的依赖,选择依赖的版本,把依赖添加到配置文件 pom.xml 中,这其实还是有点麻烦的,而通过 EditStarters 插件我们可以迅速的添加依赖到项目…

计算机网络第4章-IPv6和寻址

IP地址的分配 为了获取一块IP地址用于一个组织的子网内,于是我们向ISP联系,ISP则会从已分给我们的更大 地址块中提供一些地址。 例如,ISP也许已经分配了地址块200.23.16.0/20。 该ISP可以依次将该地址块分成8个长度相等的连续地址块&…

Jakarta-JVM篇

文章目录 一.前言1. 1 JVM-堆常用调参1.2 JVM-方法区常用参数1.3 JVM-codeCache 二.JVM内存结构三. 对象创建四. JVM垃圾回收算法4.1 可达性分析算法4.1.1 对象引用4.1.2 回收方法区. 4.2 分代回收4.3 标记清除4.4 标记复制4.5 标记整理 五.垃圾回收器5.1 根节点枚举5.2 安全点…