绕过青铜合作伙伴钱包限制以负余额接单的技术漏洞分析

本文详细分析了Bykea平台中存在的业务逻辑漏洞,攻击者通过串联GET/v2/:city_id/bookings、PUT/api/v2/driver/update/location和POST/api/v2/offer/bid三个后端端点,成功绕过钱包负余额限制非法接单。

绕过青铜合作伙伴钱包限制以负余额接单

漏洞概述

安全研究人员@bugbountywithmarco发现Bykea平台存在业务逻辑缺陷,允许钱包余额为负的青铜级合作伙伴绕过平台限制接单。通过串联三个后端API端点,负余额司机可重置可用状态并成功提交报价,从而在违反钱包限制的情况下获得未授权行程访问权限。

技术细节

漏洞利用链

  1. 端点1: GET /v2/:city_id/bookings
  2. 端点2: PUT /api/v2/driver/update/location (使用任意trip_id参数)
  3. 端点3: POST /api/v2/offer/bid

攻击流程

攻击者通过按顺序调用这三个API端点,可以:

  • 绕过钱包余额检查机制
  • 重置司机可用状态
  • 成功提交行程报价
  • 最终实现以负余额状态接单

时间线

  • 2024年11月27日 17:43 UTC - 漏洞报告提交
  • 2024年11月27日 17:44 UTC - 严重等级设置为高危(8.6)
  • 2024年11月27日 18:16 UTC - 严重等级调整为中危(6.5)
  • 2024年11月28日 07:12 UTC - 发放漏洞赏金
  • 2024年11月28日 07:19 UTC - 状态变更为已处理
  • 2025年3月27日 04:53 UTC - 报告关闭,状态设为已解决
  • 2025年6月13日 05:24 UTC - 报告公开披露

漏洞信息

  • 报告ID: #2868164
  • 严重等级: 中危(6.5)
  • 漏洞类型: 业务逻辑错误
  • CVE ID: 无
  • 赏金状态: 已发放(隐藏金额)

影响评估

该漏洞允许青铜级合作伙伴在违反平台财务政策的情况下继续运营,可能造成平台收入损失和业务规则被绕过风险。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计