首页 > 编程语言 >OWASP TOP10 漏洞解析:访问控制崩溃

OWASP TOP10 漏洞解析:访问控制崩溃

时间:2024-09-05 22:55:05浏览次数:11  
标签:访问控制 TOP10 用户 OWASP 访问 管理员 权限 越权

一、定义

访问控制崩溃,指的是访问控制策略没有被正确地执行,导致用户可以在他们的预期权限之外进行操作。这种缺陷通常会导致未授权的信息被泄露、修改、销毁,或者让用户执行了超出其权限限制的业务功能。

表现形式,也就是我们常说的越权漏洞

越权分为:

  • 水平越权: A、B两个用户权限是相同的,但A可以访问或编辑B的信息
  • 垂直越权: 主要向上垂直。低权限用户可以操作或访问高权限用户的资源或功能。A是普通用户,B管理员用户,A可以访问B账号权限。
  • 未授权访问: 通过删除请求中认证信息后重放请求,依旧可以访问或完成操作。

二、方法技巧

先了解Web应用程序的访问控制策略,包括用户角色、权限分配、认证和授权机制等。识别哪些资源(如页面、API、数据等)需要受到访问控制保护。并对不同角色和权限的用户进行测试,验证访问控制逻辑是否正确执行。

  • 通过修改URL、应用状态、HTML页面、或使用攻击工具修改API请求相关数据,以此绕过访问控制检查。获得用户之外的权限。
  • 关注身份id(如用户id、账号、手机号等)、属性id(如订单号、记录号)参数处、目录处,关注任何场景每一个可能决定用户权限的参数值。通过加和减1提交整数值,看是否可以看到本不该看到的数据,若返回403拒绝访问很可能说明没有漏洞。
  • 遇到某些参数使用哈希值(如UUIDs),可以尝试解码,或寻找参数值泄露(特定返回包或页面源代码), 测试时通常创建两个账号并替换参数值,查看是否可以操作成功。
  • 通过重放或篡改JSON Web Token(JWT)来访问控制令牌,或通过修改cookie、隐藏字段来提升权限。

三、 靶场实操

3. 1 水平越权--皮卡丘靶场

以lucy、lili2个账号为例,来演示水平越权。

  • 使用lucy用户登录,并点击查询个人信息,可以看到lucy的个人信息

图片.png

  • 通过浏览器url-修改username为其他用户名;或通过burpsuite或HackBar修改username;就可以在未登录lili账户情况下,访问lili用户的基本信息

图片.png

3. 2 垂直越权--皮卡丘靶场

超级管理员用户:admin ;普通管理员用户:pikachu 。以这2个账号为例,进行垂直越权演示。

图片.png

图片.png

  • A浏览器登录普通用户pikachu,并获取普通用户的cookie信息,保存

图片.png

  • B浏览器登录管理员admin,并操作添加一个新用户,在点击创建时,将包通过burpsuite拦截下来,如下:

图片.png

  • 将普通用户pikachu的cookie替换新建用户操作的cookie,然后点击Inetercept is on

图片.png

  • 操作完,返回管理员页面,显示添加了一个新用户。发现用低权限进行了一次高权限的添加用户操作。

图片.png

四、如何防范

  • 除公有资源外,默认情况下拒绝访问(最小权限原则)。
  • 实现一次访问控制机制,并在整个应用程序中重复使用它们,包括尽量减少跨域资源共享(CORS)的使用。
  • 前后端同时对用户输入信息进行校验,双重验证机制。
  • 执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限。
  • 特别敏感操作可以让用户再次输入密码或其他的验证信息。
  • 加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理。
  • 禁用web服务器目录列表,并确保文件元数据(例.git)和备份文件不在web根目录中。
  • 当用户注销后,服务器上的JWT(JSON Web Token)令牌应该失效。
  • 记录失败的访问控制,并在适当时向管理员告警。
  • 对API和控制器的访问进行速率限制,以最大限度地降低自动化攻击工具的危害。


标签:访问控制,TOP10,用户,OWASP,访问,管理员,权限,越权
From: https://blog.csdn.net/m0_58552717/article/details/141942702

相关文章

  • 【零信任方案】持续安全风险评估与动态访问控制实现方案
    一、为什么做持续安全风险评估与动态访问控制二、实现方案思路三、详细实现方案原创网络个人修炼一、为什么要持续进行安全风险评估和动态的访问控制访问控制是比较常见的安全隔离技术,我们这里主要讲网络访问的访问控制,其他文件存储读取访问等其他访问也是类似。传统......
  • nginx基于用户的访问控制
    ngx_http_auth_basic_module模块 实现基于用户的访问控制,使用basic机制进行用户认证auth_basicstring|off;auth_basic_user_filefile;Default: —Context: http,server,location,limit_exceptlocation/admin/{ auth_basic"AdminArea"......
  • nginx访问控制、用户认证、https
    环境rockylinux9虚拟机,时钟同步已完成,基本工具,命令已安装192.168.100.111nginx服务器192.168.100.112客户端访问192.168.100.114客户端访问nginx已经配置完成做了平滑升级一、nginx访问控制默认允许所有主机访问stub_status模块stub_status模块主要作用于查看ng......
  • 重磅发布:最新AI应用榜全球Top100!你用过哪几款?
    8月22日,硅谷知名风投A16Z(AndreessenHorowitz),发布了最新(第3期)的全球Top100生成式AI消费者应用榜单,涵盖了网页端AI应用Top50和移动端AI应用Top50。网页端Top50移动端Top50通过对比半年前的榜单,有几个值得关注的亮点:1.与半年前相比,榜单中有30%的新面孔,显示出AI应用的......
  • 利用Spring Boot的Spring Security实现细粒度访问控制
    利用SpringBoot的SpringSecurity实现细粒度访问控制大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!SpringSecurity是Spring提供的一个功能强大且高度可定制的Java安全框架,用于保护基于Spring的应用程序。在SpringBoot中集成SpringSecurity可以......
  • DrissionPage实战之采集猫眼电影top100榜
    在当今信息化的时代,数据的获取与分析变得愈发重要。电影行业作为一个充满活力的领域,吸引了大量观众和投资者。猫眼电影作为中国领先的电影票务平台之一,提供了丰富的电影信息和用户评价,成为了研究电影市场趋势和观众偏好的重要数据源。通过抓取猫眼电影的Top100榜单,开发者可以......
  • Linux ACL 访问控制
    今天给伙伴们分享一下LinuxACL访问控制,希望看了有所收获。我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相......
  • 基于ssm角色访问控制的文件共享系统-附源码161821
    摘要近些年,一些较大的企业经常自行开发科技角色访问控制的文件共享系统,这样做有一定的好处,如成本低廉,上级单位一次开发,基层单位可以重复利用,而且一定程度上能满足个性化需求。但是实践证明,这种开放方式一般难以成功。一方面企业内部开发人员往往生而缺乏项目经验,导......
  • ACL(访问控制列表)
    ACL,AccessControlList,访问控制列表,流量工程技术ACL编号(华为)基本ACL(Basic),只能匹配源地址信息:2000~2999高级ACL(Advanced),可以匹配源目的IP、端口及协议:3000~3999二层ACL(L2),用于二层技术:4000~4999自定义ACL(Name),属于扩展功能:5000~5999ACL的规则结构条件安全套接字(sip、di......
  • 「LeetCode Top100」之滑动窗口
    3.无重复字符的最长子串题目链接:https://leetcode.cn/problems/longest-substring-without-repeating-characters/description/?envType=study-plan-v2&envId=top-100-liked题目难度:中等标签:哈希表、字符串、滑动窗口题目状态:学习题解思路:滑动窗口的思路,也就是维持一个无......