【FreeBuf字幕组】Hackerone漏洞分析:星巴克隐私数据泄露
字数 1174 2025-08-15 21:32:10

星巴克API路径遍历漏洞分析教学文档

漏洞概述

本教学文档详细分析2020年发现的星巴克网站API路径遍历漏洞,该漏洞导致近1亿条顾客记录信息可被未授权访问。漏洞由安全研究员Sam Curry发现,最终被评估为高危漏洞并获得$4000奖励。

漏洞发现过程

初始发现

  1. 研究员在星巴克官网购物时注意到大量API交互
  2. 重点测试了/bff/proxy/ API接口
  3. 首先发现/bff/proxy/orchestra/get-user接口可返回用户注册信息

路径枚举尝试

  1. 尝试对/bff/proxy/orchestra/get-user/../进行字典枚举
  2. 虽然返回404状态码,但确认了与服务端的交互可行性

关键突破点

  1. 发现存在用户输入参数的路径:
    /bff/proxy/stream/v1/me/streamItems/:streamItemId
    
  2. 测试路径遍历:
    /bff/proxy/stream/v1/users/me/streamItems/..\..\
    
    • 初始响应为403
  3. 通过添加7个\..\绕过WAF:
    • 响应变为400,表明接近成功

最终利用路径

在与同事Justin合作下,发现可访问99356059条顾客记录的路径:

/bff/proxy/stream/v1/users/me/streamItems/web\search\v1\Accounts\

技术原理分析

漏洞类型

  • API路径遍历漏洞:通过构造特殊路径绕过访问控制
  • 不安全的直接对象引用(IDOR):未对敏感数据接口实施适当授权检查

漏洞成因

  1. API网关未正确验证和清理用户提供的路径参数
  2. 后端服务信任了前端传递的路径参数
  3. WAF规则可被特定构造的路径绕过

攻击向量

攻击者通过构造包含..\的路径字符串,实现:

  1. 突破当前API端点的访问限制
  2. 访问系统上其他未授权的API端点
  3. 最终访问到存储客户数据的敏感接口

防御措施

输入验证

  1. 实施严格的路径参数白名单验证
  2. 过滤所有包含路径遍历字符(如..\, ../)的请求

API安全

  1. 为每个API端点实施最小权限原则
  2. 避免使用前端传递的路径直接访问后端服务
  3. 实施API网关级别的请求验证

数据保护

  1. 敏感数据接口应实施额外的认证和授权检查
  2. 记录和监控对敏感数据接口的访问

WAF配置

  1. 更新WAF规则以检测此类路径遍历变体
  2. 实施深度防御策略,不依赖单一安全控制

漏洞报告参考

教学要点总结

  1. API安全测试:现代Web应用大量使用API,是安全测试的重点
  2. 路径遍历变体:注意不同操作系统下的路径分隔符差异(/ vs \)
  3. WAF绕过技术:通过增加遍历深度可绕过某些简单防护
  4. 协作价值:与同事合作可提高漏洞挖掘效率
  5. 奖励机制:企业漏洞奖励计划可有效激励安全研究

实践练习建议

  1. 在授权测试环境中尝试重现类似漏洞
  2. 练习使用Burp Suite等工具进行API端点枚举
  3. 编写简单的路径遍历检测脚本
  4. 研究不同WAF对路径遍历攻击的防护机制
  5. 练习编写高质量的漏洞报告

通过本案例学习,安全研究人员应掌握现代Web应用API接口的安全测试方法,特别是路径遍历漏洞的发现和利用技术。

星巴克API路径遍历漏洞分析教学文档 漏洞概述 本教学文档详细分析2020年发现的星巴克网站API路径遍历漏洞,该漏洞导致近1亿条顾客记录信息可被未授权访问。漏洞由安全研究员Sam Curry发现,最终被评估为高危漏洞并获得$4000奖励。 漏洞发现过程 初始发现 研究员在星巴克官网购物时注意到大量API交互 重点测试了 /bff/proxy/ API接口 首先发现 /bff/proxy/orchestra/get-user 接口可返回用户注册信息 路径枚举尝试 尝试对 /bff/proxy/orchestra/get-user/../ 进行字典枚举 虽然返回404状态码,但确认了与服务端的交互可行性 关键突破点 发现存在用户输入参数的路径: 测试路径遍历: 初始响应为403 通过添加7个 \..\ 绕过WAF: 响应变为400,表明接近成功 最终利用路径 在与同事Justin合作下,发现可访问99356059条顾客记录的路径: 技术原理分析 漏洞类型 API路径遍历漏洞 :通过构造特殊路径绕过访问控制 不安全的直接对象引用(IDOR) :未对敏感数据接口实施适当授权检查 漏洞成因 API网关未正确验证和清理用户提供的路径参数 后端服务信任了前端传递的路径参数 WAF规则可被特定构造的路径绕过 攻击向量 攻击者通过构造包含 ..\ 的路径字符串,实现: 突破当前API端点的访问限制 访问系统上其他未授权的API端点 最终访问到存储客户数据的敏感接口 防御措施 输入验证 实施严格的路径参数白名单验证 过滤所有包含路径遍历字符(如 ..\ , ../ )的请求 API安全 为每个API端点实施最小权限原则 避免使用前端传递的路径直接访问后端服务 实施API网关级别的请求验证 数据保护 敏感数据接口应实施额外的认证和授权检查 记录和监控对敏感数据接口的访问 WAF配置 更新WAF规则以检测此类路径遍历变体 实施深度防御策略,不依赖单一安全控制 漏洞报告参考 Sam Curry技术报告 HackerOne漏洞报告 教学要点总结 API安全测试 :现代Web应用大量使用API,是安全测试的重点 路径遍历变体 :注意不同操作系统下的路径分隔符差异( / vs \ ) WAF绕过技术 :通过增加遍历深度可绕过某些简单防护 协作价值 :与同事合作可提高漏洞挖掘效率 奖励机制 :企业漏洞奖励计划可有效激励安全研究 实践练习建议 在授权测试环境中尝试重现类似漏洞 练习使用Burp Suite等工具进行API端点枚举 编写简单的路径遍历检测脚本 研究不同WAF对路径遍历攻击的防护机制 练习编写高质量的漏洞报告 通过本案例学习,安全研究人员应掌握现代Web应用API接口的安全测试方法,特别是路径遍历漏洞的发现和利用技术。