越权漏洞讲解

越权漏洞是由于服务器在授权检查上的疏漏,允许低权限用户访问高权限功能。它分为水平越权(相同权限用户间互相访问)、垂直越权(低权限访问高权限资源)和交叉越权。这类漏洞主要源于业务逻辑错误,危害包括敏感信息泄露。防御措施包括完善权限体系、数据校验和前后端双重验证。在渗透测试中,可通过抓包和多账号交互来检测越权情况。
摘要由CSDN通过智能技术生成

1.越权漏洞简介

原理
应用在检查授权时存在纰漏,使得攻击者在获得低权限用户帐后后,可以利用一些方式绕过权限检查,访问或者操作到原本无权访问的高权限功能。

产生原因
越权漏洞是一种很常见的逻辑漏洞。是由于服务器对客户提出的数据请求过分信任,忽略了对该用户操作权限的判定,导致修改相关的参数就可以拥有了其他的账户的增,删,改,查功能,从而导致越权漏洞。

逻辑漏洞
逻辑漏洞是因为业务逻辑出了问题所造成的,他本身单独可能不是漏洞,但是对于业务逻辑而言是漏洞,比如普通用户修改管理员密码,本质上就是执行SQL语句,并不是什么漏洞,但是在业务上面而言就有问题了,他不是技术层面的问题,而是逻辑层面,逻辑漏洞是渗透测试项目上面最最最最常见,也是最最最容易挖到的漏洞(很多比较重视安全的公司就只能挖这种吃饭,因为SQL|XSS|CSRF之类的完全挖不到)

2.分类

<2.1水平越权
是指相同权限下不同的用户可以互相访问,即权限类型不变,权限ID改变;
在这里插入图片描述
用户A,B,C拥有相同的权限等级,他们都有属于自己的隐私数据,如果前端只验证了你是否拥有访问数据的角色的权限,而没有对你能访问什么数据做权限设定,就会导致用户A能够查看用户B,C的数据,这个叫做水平越权。

<2.2垂直越权
是指使用低权限的用户可以访问到较高权限的用户,即权限ID不变,权限类型改变;
在这里插入图片描述
由于系统没有做权限控制,仅仅在菜单和按钮上做了权限控制,导致恶意用户只要猜测其他管理页面的URL或者敏感的参数信息,就可以访问或控制其他角色用户的数据和页面,也就是意味着普通用户可以执行只有查看员,系统管理员才拥有的操作。

<2.3交叉越权
顾名思义,交叉越权就是既可以平行也可以垂直,即权限类型改变,权限ID也改变;

<2.4未授权访问
需要安全配置或权限认证的地址存在缺陷,输入正确地址后可以直接访问,一般在网页后台页面,某些后期开发的页面 里可能存在未授权访问,严格意义上他不属于越权漏洞,但是比较常见!一般在扫描路径的时候多注意一下!

3.危害性

越权漏洞的危害与影响主要是与对应业务的重要性相关,比如说某一页面服务器端响应(不局限于页面返回的信息,有时信息在响应包中,页面不一定能看见)中返回登录名、登录密码、手机号、身份证等敏感信息,如果存在平行越权,通过对用户ID的遍历,就可以查看所有用户的敏感信息,这也是一种变相的脱裤,而且很难被防火墙发现,因为这和正常的访问请求没有什么区别,也不会包含特殊字符,具有十足的隐秘性。

4.越权漏洞挖掘思路

对于渗透测试,可以对一些请求进行抓包操作,或者查看请求的 URL 地址,对于关键的参数修改下值查看下返回结果来初步判定。随后可以注册两个小号,相互辅助来确定是否存在越权。
比如:
登录A账号,正常更改或者查看A的用户信息,然后抓数据包,将传参ID改为其它用户,如果成功查看或者修改了其它用户的信息就属于水平越权!(如果可以影响到高权限用户就是垂直越权)。

参数ID需要自己检测(常见id,user,admin等身份标识传参)通常使用bp进行爆破传参(传参可能在GET,POST,COOKIE中)

5.防御方法

1、基础安全架构,完善用户权限体系。要知道哪些数据对于哪些用户,哪些数据不应该由哪些用户操作;
2、鉴权,服务端对请求的数据和当前用户身份做校验;
3、不要直接使用对象的实名或关键字。
4、对于可控参数进行严格的检查与过滤!
5.永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤!
6.前后端同时对用户输入信息进行校验,双重验证机制


补充

1.越权高发功能点
根据订单号查订单、根据用户 ID 查看帐户信息、修改 / 找回密码等。

2.越权漏洞评定
非常常见,并且逻辑类漏洞,漏扫工具无法扫描出来,基本上是高度安全的环境中首测目标,越权属于逻辑漏洞,一般平行越权可以打个中危,垂直或者交叉给个高危!

3.水平越权和垂直越权的区别
平行越权指在同一权限下的越权,比如越权操作其他同权限用户
而垂直越权是权限低的可以访问到权限高的,比如越权操作管理员。

4.越权和提权的区别
越权,是指因为逻辑漏洞而造成的权限控制不当。
提权,一般指的是拿到shell之后在服务器上面权限不够。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
免费试听地址:B站搜索JeeGit观看《JeeSite4.x数据权限教程》、《JeeSite1.2.7系列基础教程》、《JeeSite4.x系列基础教程》等相关课程! 郑重声明:购课前,请认真听完第一章 课程简介 建议实战人群直接听:第九章、第十章 学生人群、刚入门:全听       数据权限主要讲解内容包含第一章 课程简介31.1 课程目标31.2 适用人群31.3 课程简介31.4 环境要求31.5 课程知识点大全31.6 课程售价31.7 购课声明31.8 资源清单31.9 售后方式41.10 讲师介绍4第二章 权限基础42.1 权限模型概述4第三章 JeeSite权限管理模型123.1 JeeSite1.2.7 权限管理模型123.2 JeeSite4.x 权限管理模型123.3 JeeSite4.x权限设计的扩展13第四章 用户管理144.1 JeeSite4.x内置用户类型144.1.1 用户管理思路144.1.2 网站会员、员工、单位、个人登录视图配置154.2 用户数据权限类型164.3实战训练、调试、日志查看16第五章 机构管理16第六章 角色管理186.1 JeeSite4.x角色管理概述186.2 JeeSite4.x越级授权与菜单权重186.3 JeeSite4.x 越级授权可能存在的隐患极其解决方案196.4用户表如何区分非管理员、系统管理员、二级管理员206.5 角色权限注意事项206.6 角色授权数据范围使用注意事项216.7 为何用户不设置员工权限无效?236.8 岗位管理与角色分类的岗位分类与角色分类有何区别?23第七章 二级管理员23第八章 系统管理员238.1 系统管理员238.2 总结:何时使用超级管理员、系统管理员、二级管理员?23第九章 Jeesite数据权限调用239.1 JeeSite4.x数据调用基础239.2 JeeSite4.x 实现数据列权限推荐解决方案249.3多数源模式下数据权限bug简易解决方案249.4 JeeSite4.x 自定义扩展数据权限249.5支持全球地区、全球企业、全球机构、全球部门授权24第十章 JeeSite数据权限实战2410.1 案例一2410.2 案例二2410.3 案例三2510.4 案例四2510.5 案例五25第十一章 JeeSite4.x常见问题解答251.1数据权限管理的代码会公开吗,购买了能看吗?251.2 JeeSite数据权限教程是Thinkgem录制的吗?25第十二章 参考阅读2612.1、JeeSite官方文档2712.2、美国国家标准与技术研究院2712.3、中国国家标准化管理委员会2712.4、ITSEC欧洲安全评价标准2812.5、百度学术2812.6、开源框架2912.6.1 JeeSite2912.6.2 Casbin2912.6.3 Eladmin2912.6.4 Spring-boot-demo2912.6.5 Jeeplatform3012.6.6 Pig3012.6.7 Jeecg-boot3012.6.8 Jfinal3012.6.9 Guns3112.6.10 Zheng3112.6.11 Cloud-Platform3112.7 博文资源31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值