越权类漏洞攻守之道

1、 什么是越权类漏洞

        越权类漏洞是指攻击者利用程序漏洞获取或操作超越用户本身权限所属的资源。

2、 越权漏洞的类型

        水平越权:是指用户操作或查询服务端数据时,服务端未校验数据是否归属于请求用户。使得攻击者可以操作其他用户数据。简单来讲,就是同级别权限的用户访问到其他用户的资源。

        垂直越权:垂直越权又称为权限提升,主要是由于系统权限控制不严谨,导致攻击者可以直接访问到管理界面或者绕过权限验证,达到提权的目的。简单来讲,就是低级别权限的用户访问高级别权限用户的资源。

3、 越权漏洞的危害

        攻击者可以越权操作其他资源,如增、删、改、查其他用户的数据等。

4、 越权的防守方法

         水平越权一般出现在账户或角色相关的增删改查或者其他区分数据权限的业务场景,可以通过篡改账户或角色来挖掘是否存在水平越权。

        垂直越权一般存在于后台管理系统或树状层级组织架构的业务场景。

        基于以上越权类漏洞出现的场景,针对不同的越权漏洞的解决方法如下:

        水平越权:由于水平越权多和业务耦合在一起,比较难有统一的解决方案,仅能在系统设计和功能实现时提高严谨性。防守的本质是操作资源时由服务端校验资源是否归属操作者。如:

        1、任何操作都要用当前用户身份或角色(如所在部门等)去约束,举例:操作SQL中包含userId或者depId。

        2、所有获取当前用户身份的方式禁止从Get、Post参数、Cookie参数或Header头中获取,应当从session中或SSO等单点登录系统中获取。

        3、不以任何客户端传递的明文数据作为鉴权方式。

        4、用户可见的索引类数据尽量设置成无规律。

        垂直越权:垂直越权防守的本质是建立完善的系统角色权限机制,页面和按钮等资源由角色控制,可以给用户按需分配多个不同的权限;权限角色管理角色无业务操作权限,做到“三权分立”。Java系统一般使用Spring Security和Apache Shiro框架来做鉴权。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值