web漏洞-逻辑越权之水平垂直越权全解(33)

news2024/11/17 3:33:30

在这里插入图片描述

 他是业务逻辑层面,和一些业务方便应用的安全问题,这个是因为代码层面没用考虑到的逻辑关系所造成的安全问题,越权是其中一个比较关键的问题。登录是指在登录这里出现了安全问题,业务等等今天只说越权。

越权漏洞

分为水平和垂直,

假如我们在用户a这里,如果有用户越权漏洞,我们就可以访问到用户b,c,d这里去,同级别的用户,我们称之为水平越权。

垂直越权,我们用普通用户权限,可以去享用比我们高级的权限,这种就是垂直越权。

解释一下水平越权,:是通过更换某个id之类的身份表示,从而使a账户获取(修改,删除)同一级别b账户的数据。

垂直越权,:使用低权限身份的账号,发送高权限账户才能发送的请求,获取高权限的操作。

未授权访问,:比如我们访问网站的后台,网站的后台有一些操作需要管理员才能操作的,其他的用户是操作不了的,如果有未授权访问就相当于任何人都可以去操作他,比如是后台地址,操作的应用,不需要的登陆直接操纵,这就是未授权访问,没用进行权限验证导致的安全问题,

#pikachu-本地水平垂直越权的演示(漏洞成因)

打开靶场

 我们点击查看个人信息,抓一下数据包看看

我们要怎么去测试有没有水平越权漏洞,就把那个用户名改成同级别的lucy试试,现在就有问题了,我们如何去获取lucy这个用户名。这个用户名可以在前期信息收集里面找到的,在真是网站下面可以通过一些渠道获取同级别用户的信息的,打一个比方,有一些网站是有注册吗,就可以通过注册一些用户名,有时候他就会提示你用户名重复,那么这个用户名就存在的;第二种可以通过访问其他的人个人空间知道他的名字,可以通过多个渠道获取到的。

 发送出去,再去看一下页面

 我登陆的是coke然后通过数据包的更改查看到了另外同级别的用户lucy用户信息。

#垂直越权

打开靶场,先登录一个管理用户

 这个时候在退出来换一个普通用户,就只有查看的权限

 然后现在在回到管理用户里面,随便添加一个用户,抓一下数据吧,发送到重发器之后在,丢弃数据包,

 写着在去登陆pikachu用户,没有添加删除的功能,然后我们先在网页查看元素

 把这个cookie替换为数据包重发器里面的cookie

 这就是一个典型的越权,用用户pikachu发送了admin的请求。

利用条件:添加用户账户,把数据包抓了,但是在实际中是不能知道这个数据包的,因为在实战中可能就是pikachu用户,如果没有那个添加数据包,这么去添加哪个用户呢,该怎么去满足这个条件,有两个情况,

第一种是盲猜,看页面中的数据包,登录pikachu是没有操作用户的界面的,但有一些网站可能会有,有不是就不能操作,操作的时候会提示无权限,这种就可以通过当前页面权限的数据包,来实现越权。

第二种,如果能知道网站的源码,网上下载下来,放到本地区测试,这个时候在本地测试把管理员的账户数据包抓到,再放到真实环境,实际目标,这也是一种

其他的就是靠猜测了,搞不到数据包,操作不行。

有一个条件,

这个漏洞有些鸡肋,但是有些时候我们会涉及到另一个,未授权访问,或者思维导图里面的的登录,如果这里判断不好的话,可以通过这个漏洞直接进入到管理界面,就是先用一个普通用户登录,在判断权限的时候,有些数据包修改之后能达到伪造,可以通过这个漏洞获取到过权限,直接进入高权限界面。

这个漏洞是相辅相成的因为现在只说了越权,所以现在只能说这三个。

但是它如果有登录安全问题的话,就上一节那个把0改成1就直接登录进去了,就是我们说的越过的情况,判断用户方式不太安全。

这两个安全是越权漏洞的演示和原理,

#墨者靶场演示-身份认证失效

背景介绍

 打开靶场

现在只有系统系统测试用户test, 登陆进去

 这个关卡就已经和实际应用非常相关了,页面刷新抓一下数据包

发送之后第二个数据包

先分析第一个数据吗,有一个uid叫test,把这个uid改成马春山会不会直接登录到马春生的界面呢,这时第一个可以操作的地方,

第二个数据,在数据头里面有一个叫card_id的,后面跟着一堆数字这就是给编号,后面编号不同,所对应的用户也不同,就好比一些网站id=1就是admin用户,id=22的时候就别人注册的用户,是一个道理,这里也是一个可以操作的地方。

通过这个用户,就可以实现对用户的地址访问,我换一下那个编号,访问的结果也不一样

 所以这时候我们一个一个去试试就好了,就运用到burp的,以编号的后两位为字典。

 

 之后就直接开始攻击,之后结果就选择由大到小排序,因为有数据的数据包长度一定要大一点,而全部都一样的就是没用数据的,现在我们只需要看一下有数据的数据包,

 我们该怎么去找马春生的数据,其实网站的初始界面是有一个信息的,有马春生的头像,查看马春生的头像元素

 很可能就是编号,找到同一个编号的数据包

 

 拿去登录一下试试

出来了,这就是一个和网站十分相似的水平越权漏洞,

在实战情况下要根据实际判断,是一图像信息还是地址端口上的参数作为编号,一般是以参数为编号, 而墨者那一关是让你看一下没用连接信息,只有图片信息的,真是网站下,大部分都是地址链接看到编号,在实现这个跨越。

#产生原理

前端安全造成,界面。

就好比刚刚的pikachu靶场,管理用户登录进去有添加管理员账户,和删除,而普通的用户只有查看选项就没有别的选项,她的验证写在前端界面,这个漏洞安全造成原因就是代码在这个界面,只有判断用户是不是管理员,然后代码进行可选显示。普通用户登录就不显示添加删除那些,

不安全的原因,他只是不给你看到,但是这些是存在的,这种就是刚才漏洞产生的原因。这种判断这么安全,要去在使用功能的时候在判断管理员有没有这个权限,

 判断用户的权限就是按照usertype等级来判断,是1就是管理,不是1就不是。

后端安全造成,数据库

如果在访问网站的时候,网站传输的数据包里面有用户的编号,用户组的编号或者类型编号,那么尝试对这个数据修改,就是测试越权漏洞的基本。

网站去判断一个用户权限,就可以有三个方面去判断,一个是用户编号uid指判断,比如管理员在10以内,uid指在10以内就是管理员。还有判断组的编号(groupid),在那个组编号里面就是那个权限。还有一个就是判断用户的等级(usertype)

网站访问数据包里面存在编号指可以更改,就是在测试越权漏洞最基本操作。

ss、

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

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

相关文章

容器镜像按层分析工具dive

概述 dive是一个容器镜像分析工具,可以直观的看到容器每一层变动了哪些文件,每一层占用的磁盘空间,这样也就可以看到镜像的历史构建过程;同时也可以看到镜像的磁盘空间使用率,面对特别大的镜像文件是,可以…

【论文随笔】Rewrite-Based Decomposition of Signal Temporal Logic Specifications

文章目录 Overview1 IntroLTL任务分解STL任务分解本文工作 Background and Problem DefinitionSTLAgent假设与问题方法 An STL Rewriting SystemRewriting SystemFormula Rewrite DAG Decomposing STL智能体编队任务分解最优分解 Exploring the Formula Rewrite DAG心得体会 多…

如何创建可引导的 macOS 安装介质

如何创建可引导的 macOS 安装介质 如何创建可引导的 macOS 安装器 | 如何制作 macOS USB 启动盘 请访问原文链接:https://sysin.org/blog/macos-createinstallmedia/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.or…

asp.net卷烟物价管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net卷烟物价管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言开发 asp.net卷烟物价管理系统VS开发sq…

清华青年AI自强作业hw3_2:前向传播和反向传播实战

清华青年AI自强作业hw3_2:前向传播和反向传播实战 实现过程各层参数维度分析拟合结果相关链接 一起学AI系列博客:目录索引 前向传播和反向传播的公式理解化用于作业hw3_2中::用NN网络拟合小姐姐喜好分类 完成前向传播、反向传播算…

【JavaEE进阶之Spring】一分钟让你学会什么是Spring以及如何使用创建Spring

前言: 💞💞今天我们正式进入到JavaEE进阶的学习中了,在JavaEE进阶的学习中,我们最主要的就是学习Spring框架。 💟💟那我们从今天就要逐渐从最基础的Spring开始,教会大家什么是Spring…

54、基于51单片机饮水机温度水位控制无线蓝牙APP控制报警系统设计(程序+原理图+PCB源文件+Proteus仿真+参考论文+开题报告+元器件清单等)

方案的选择 方案一:采用51单片机作为控制核心,配合无线蓝牙模块、水温加热模块继电器开关、基于Dallas单线数字式的DS18B20温度传感器模块、蜂鸣器报警模块、按键模块、LCD1602液晶显示器模块、晶振电路模块、复位电路模块以及电源模块为一体构成无线水…

winsw使用——将Nginx和Jar包注册到WIN服务

文章目录 1.winsw介绍2.注册Nginx到win服务2.1 首先将下载的winsw下并改名2.2 nginx-service.exe.config配置2.3 nginx-service.xml配置2.4 nginx-service安装到服务 3.注册Jar包到win服务3.1 复制winsw文件并改名3.2 创建xml配置文件3.3 执行安装命令 1.winsw介绍 Windows Se…

ChatGPT Prompt Engineering for Developers from DeepLearning.AI

链接:https://learn.deeplearning.ai/chatgpt-prompt-eng/lesson/1/introduction In this course, there are some example codes that you can already run in Jupyter Notebook. Below, I will write down the core knowledge points (how to build a prompt and…

CSS基础学习--4 创建式样

一、插入样式表的几种方法? 外部样式表内部样式表内联样式 二、外部样式表 使用前提:当样式需要应用于很多页面时,外部样式表将是理想的选择。 在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页…

Ognl使用总结

目录 一、简介二、快速入门三、详细使用3.0 Ognl操作3.1 基本数据类型3.2 对象类型3.3 List集合3.4 Set集合3.5 Map集合3.6 数组3.7 静态调用3.8 算术运算3.9 逻辑运算3.10 同时执行多个表达式3.11 位运算 一、简介 OGNL(Object-Graph Navigation Language的简称&a…

开始使用chat-gpt4

目录 一、说明 二、安装步骤 三、测试效果咋样 (1)写代码能力 (2)回答问题能力 (3)写作能力 一、说明 参考(非常感谢这位博主的分享):http://t.csdn.cn/qypw9 注意&…

FTP服务器项目

文章目录 1. 项目简介2. FTP协议和用到指令说明2.1 FTP协议详解2.2 指令说明 3. FTP项目的类图分析3.1 UML3.2 工厂类XFtpFactoryXFtpFactory.hXFtpFactory.cpp 2.2 XFtpTaskXFtpTask.hXFtpTask.cpp 2.3 XFtpServerCMDXFtpServerCMD.hXFtpServerCMD.cpp 4. 运行演示FileZilla的…

数字逻辑期末必刷卷(基础卷)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 💡一、填空题(每空1分,共20分)💡二、单项选择题(每小题2分,共20分)&a…

第七章 Linux实际操作——组管理和权限管理

第七章 Linux实际操作——组管理和权限管理 7.1 Linux组基本介绍7.2 文件、目录 所有者7.2.1 查看文件的所有者7.2.2 修改文件所有者 7.3 组的创建7.3.1 基本指令7.3.2 应用实例 7.4 文件、目录所在组7.4.1 查看文件、目录所在组7.4.2 修改文件、目录所在组 7.5 其他组7.6 权限…

观澜南林輋旧改回迁房--周边巨量旧改,未来区政府核心商圈。

项目亮点 观澜福城街道办旧改最集中的区域,且地铁4号的茜坑站就在门口!未来一区域成为龙华区政府的中心地段。本项目拆迁约10万,主打高端商业综合体,项目规划27班九年一贯性学校,约4万多平用于建设公共设施、绿地。 …

ROS学习——通信机制(服务通信)

2.2.3 服务通信自定义srv调用A(C) Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 068服务通信(C)3_客户端优化_Chapter2-ROS通信机制_哔哩哔哩_bilibili 一、理论模型 服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的&#xf…

【Java|多线程与高并发】volatile关键字和内存可见性问题

文章目录 1.前言2. 编译器优化带来的内存可见性问题3. 使用volatile保证内存可见性5.volatile不能保证原子性以JMM的角度看待volatile总结 1.前言 synchronized和volatile都是Java多线程中很重要的关键字,但它们的作用和使用场景有所不同。 synchronized关键字可以…

Linux之文件打包和解压缩

任务描述 有时,我们会在Linux系统中将多个文件打包成一个单独的文件,通过本关的学习,我们将学会如何在Linux系统中将多个文件/目录打包生成一个文件。 本关任务:使用tar命令完成文件和目录的打包操作。 相关知识 tar&#xff…

验证断言(立即断言并行断言)

目录 1.何为断言 2.断言的作用: 3.断言的种类 3.1立即断言 3.2并发断言 4.断言层次结构 4.1 sequence 序列 4.2 property 序列 5.sequence和property的异同 6.补充知识点(assert/cover/assume) 7.写在后边 1.何为断言 断言主要…