业务逻辑漏洞之水平越权和垂直越权
越权漏洞原理
浏览器对用户提交的数据请求没有经过严格的权限设置,导致用户可以拥有观察或更改其他用户信息的功能。
越权漏洞被分为两类
一类是水平越权,一类是垂直越权。
水平越权 :用户在权限相同级别下的组,可以进行越权访问、修改、删除数据。
垂直越权 :用户在不同权限下的组,可以进行高级别的权限使用。
漏洞成因
前端原因:
只对页面进行更高权限的隐藏
实际上并没有对后端的进行一个权限过滤,只是对前端进行隐藏。根据用户权限的判断,进行选择显示,但是功能点还是可以触发。
正确的做法应该是用户权限与功能点进行绑定。
后端原因:
1.没有进行权限设置(通常来说我们是判断用户组编号、用户等级、用户组来确定权限)
2.没有进行参数过滤
3.数据库中同组成员不同权限
拿pikachu靶场的垂直越权源码举例
靶场验证
1.水平越权
进入靶场随便创一个新用户,查看信息,并进行抓包观察。是否有可以利用的点。
这里可以看到我们的用户名是可以修改的。我们随便改一个用户的名称,观察是否可以进行数据读取。
可以看到,我们改变username就能查看其他用户的信息。(我们这里有个问题就是怎么获取其他用户的username。其实是由很多办法的,比如相同账号名不能创建、在网页中浏览用户、在url中进行uid遍历)
漏洞成因
没有进行session验证。
2.垂直越权
我们先抓取一下添加用户的数据包
我们退出admin账户,进入pikachu账户。在pikachu账户这里进行用户添加。
在这里呢我们使用admin的seesion明显是不行的。我们将seesion改为pikachu的。
可以看到已经成功创建。
漏洞成因
他只验证了一个登录的状态,没有对权限进行一个验证。
注入条件
1.获取数据包
在前端中有提交新用户系统,但是对等级有限制,这时我们就可以根据这个数据包进行修改。
有网站源码,可以自己搭一个本地环境进行测试。
猜测添加用户的数据包。
2.对用户等级没有限制
墨者实例靶场
他这里是想让我们通过test这个用户进行越权访问马春生这个用户的信息。
我们先登录账号再抓一只下包看看利用点。
像这里的uid和card_id一看就是可以进行修改的地方。
我们将uid改为machunsheng试试,发现不能进行访问,应该是uid改为了其他值。
查看页面的源代码,发现和card_id结构相似,我们尝试一下。
这里把编号为20128880317的username和passwd爆出来了。
根据观察尾号16就是马春生。这里的passwd应该是md5加密的,我们用在线解密一下就可以了。
到这里就完成了。
在没有提示的情况下可以使用burpsuit的爆破功能。
业务逻辑漏洞之水平越权和垂直越权相关推荐
- 【CyberSecurityLearning 65】业务安全+业务逻辑漏洞实战
目录 业务安全 * 业务安全概述 * 黑客攻击的目标 业务安全测试流程 * 测试准备 * 业务调研 * 业务建模 * 业务流程梳理 * 业务风险点识别 * 开展测试 * 撰写报告 万能用户名|密码 业 ...
- 攻防演练中的业务逻辑漏洞及检测思路
随着各类前后端框架的成熟和完善,传统的SQL注入.XSS等常规漏洞在Web系统里逐步减少,而攻击者更倾向于使用业务逻辑漏洞来进行突破.业务逻辑漏洞,具有攻击特征少.自动化脆弱性工具无法扫出等特点,也为 ...
- 张小白的渗透之路(十)——业务逻辑漏洞
业务逻辑漏洞 由于程序逻辑不严谨或逻辑太过复杂,导致一些逻辑分支不能正常处理或处理错误,统称为 业务逻辑漏洞 关注重点 业务流程 HTTP/HTTPS 请求分析 漏洞分类 身份认证 暴力破解 在 没有 ...
- 058 业务逻辑漏洞
文章目录 一:概述 二:黑客攻击的目标 三:业务安全测试流程 3.1:测试准备 3.2:业务调研 3.3:业务建模 3.4:业务流程梳理 3.5:业务风险点识别 3.6:开展测试 3.7:撰写报告 四 ...
- Web安全之业务逻辑漏洞
业务逻辑 不同的项目有不同的功能,不同的功能需要不同的代码实现,实现这些核心功能的代码就叫业务逻辑. 业务逻辑漏洞 业务逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能正常处理或处理错 ...
- 常见的业务逻辑漏洞-整合篇
笔者前言: 作为一个地地道道的安服仔,每日的工作就是渗透测试,在测试的过程中累积了很多的经验,看到了各种各样奇葩的漏洞,于是乎便有了这样的一篇文章.以下文章均由本人测试发现并打码,侵删 什么是业务逻辑 ...
- 横向越权和纵向越权(水平越权、垂直越权)
越权:顾名思义,就是获得了本不应该有的权限. 我们都喜欢创造一些复杂的词汇,而实际上这些词就是一个代词,根本没有那么复杂. 越权漏洞往往是基于业务逻辑的漏洞,这样的漏洞很难被WAF保护. 越权的分类 ...
- php 水平越权,水平越权与垂直越权
越权漏洞 越权访问(Broken Access Control,简称BAC)是Web应用程序中一种常见的漏洞,由于其存在范围广.危害大,被OWASP列为Web应用十大安全隐患的第二名. 该漏洞是指应用 ...
- 浅谈——业务逻辑漏洞
目录 什么是业务逻辑漏洞 产生原因 脑图 有哪些应用场景?哪些危害? 越权 支付漏洞 靶机案例 修改支付金额 密码找回绕过 越权 防御方式 参考 | 提示
最新文章
- 客户端动态调用WCF服务中的方法
- Knockout学习之前言
- 泰拉瑞亚服务器权限文件,泰拉瑞亚云服务器权限
- 数组与字符串三(Cocos2d-x 3.x _Array容器)
- python发挥程度_你为什么用 Python?
- CSS手写代码总结02
- n分频器 verilog_时钟分频系列——分数分频电路的Verilog实现
- Python练习:平方值格式化
- linux交叉编译出现的问题,,Ubuntu 14.10下安装GCC交叉编译器遇到问题及解决方法
- 网络编程之 信号捕捉器(函数指针与回调函数)
- 与时俱进的治疗策略不断提高RA无药缓解机会[EULAR2015_SAT0058]
- Repo报错:GnuTLS recv error (-9): Error decoding the received TLS packet.
- 【三维路径规划】基于matlab麻雀算法求解无人机三维航迹优化问题【含Matlab源码 301期】
- 局域网联机游戏找不到服务器,国庆想局域网联机,除了“吃鸡”,这些Steam游戏别错过...
- 阿朱访谈:程序员转型期职业选择,是继续做技术高手还...(转)
- Android 项目必备(八)--> APP 的开发流程
- OFFICE没有仿宋GB2312的字体
- 1 5 php,直接可以拿来用的PHP惯用功能代码片段(1~5)
- vivoX9手机拆解
- 关于陌陌和微信表情页与输入法之间切换的问题
热门文章
- CPU占用率百分百原因及解决方法
- 3D点云 (Lidar)检测入门篇 - PointPillars PyTorch实现
- 前后端分离 Spring Security 对登出.logout()的处理
- python中class什么意思_python – 这个代码中classmethod做了什么?
- 如何听节拍器_七个方法可以拯救你的节奏感!
- java trim 空指针_trim()空指针异常问题!
- PAT 甲级 1018. Public Bike Management
- 2020CCPC绵阳站 Defuse the Bombs(简单二分)
- Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结 .
- Selenium:下拉框操作