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

一、定义

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

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

越权分为:

  • 水平越权: 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和控制器的访问进行速率限制,以最大限度地降低自动化攻击工具的危害。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值