zoukankan      html  css  js  c++  java
  • 水平越权访问与垂直越权访问漏洞

    前言
    电网机巡智能管控平台是XX省电力巡检智能管控平台,辅助全省无人机巡线作业工作顺利、高效开展。由于今年互联网出现了严重的安全事故。XX省对全省的业务系统提高了安全意识,开展了为期4个月的“护网行动”,对全省所有的业务系统进行全面的安全检查,成立了护网行动小组。“非常荣幸的”我们研发的电网机巡智能管控平台被列为检查对象。在安全检查的过程中,发现了大量接口存在越权访问漏洞。

    借此机会,对越权访问漏洞进行了学习,结合本次护网行动的开展过程,总结了一下关于越权访问漏洞的相关内容。

    越权访问漏洞
    越权访问(Broken Access Control,简称BAC)是Web应用程序中一种常见的漏洞,由于其存在范围广、危害大,被OWASP列为Web应用十大安全隐患的第二名。

    该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限。越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定。越权访问漏洞主要分为水平越权访问和垂直越权访问。

    水平越权访问漏洞
    水平越权访问是一种“基于数据的访问控制”设计缺陷引起的漏洞。由于服务器端在接收到请求数据进行操作时没有判断数据的所属人/所属部门而导致的越权数据访问漏洞。

    假设用户A和用户B属于同一角色,拥有相同的权限等级,他们能获取自己的私有数据(数据A和数据B),但如果系统只验证了能访问数据的角色,而没有对数据做细分或者校验,导致用户A能访问到用户B的数据(数据B),那么用户A访问数据B的这种行为就叫做水平越权访问。

    垂直越权访问漏洞
    垂直越权是一种“基于URL的访问控制”设计缺陷引起的漏洞,又叫做权限提升攻击。

    由于后台应用没有做权限控制,或仅仅在菜单、按钮上做了权限控制,导致恶意用户只要猜测其他管理页面的URL或者敏感的参数信息,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。

    防范措施

    1. 前后端同时对用户输入信息进行校验,双重验证机制
    2. 调用功能前验证用户是否有权限调用相关功能
    3. 执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
    4. 直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理
    5. 永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤

    原文链接:https://blog.csdn.net/u012068483/article/details/89553797

  • 相关阅读:
    毫秒级从百亿大表任意维度筛选数据,是怎么做到的...
    编译时异常和运行时异常的区别
    ajax同步与异步的区别
    jdk、jre、jvm三者联系
    java可变参数
    String 堆内存和栈内存
    构造方法
    为什么成员变量不用先初始化
    Javascript 创建对象方法的总结
    Java四种读取和创建XML文档的例子教程
  • 原文地址:https://www.cnblogs.com/meetuj/p/15262299.html
Copyright © 2011-2022 走看看