挖洞经验 | Facebook Messenger向第三方应用泄露用户访问令牌(Access Token)
字数 1379 2025-08-15 21:32:56

Facebook Messenger iOS App 访问令牌泄露漏洞分析报告

漏洞概述

本报告详细分析了一个Facebook Messenger iOS应用程序中存在的安全漏洞,该漏洞会导致用户访问令牌(Access Token)被泄露给第三方服务提供商Tenor GIF。该漏洞由安全研究人员在2020年发现并报告给Facebook安全团队。

漏洞技术细节

漏洞发现环境

  • 测试平台: iOS操作系统
  • 测试应用: Facebook Messenger iOS App
  • 测试工具: Burp Suite抓包工具
  • 触发场景: 用户通过Messenger应用搜索并发送GIF动图表情时

漏洞机制

  1. 当用户在Messenger iOS App中搜索GIF动图时,应用会向Tenor GIF服务发送请求
  2. 这些请求中意外包含了用户的Facebook访问令牌(access_token)
  3. 访问令牌被明文传输到第三方服务Tenor的服务器

访问令牌(Access Token)的重要性

  • 身份验证凭证:代表用户在短时间内执行身份认证或权限操作
  • 账户控制能力:可用于无密码登录相应用户账户
  • 权限代表:通常包含用户授权给应用的一系列权限

漏洞影响评估

潜在风险

  1. 账户接管:攻击者可利用泄露的访问令牌直接登录用户账户
  2. 数据泄露:可访问用户私密信息和聊天记录
  3. 权限滥用:根据令牌权限,可能执行用户授权范围内的各种操作
  4. 横向移动:如果令牌权限足够,可能影响用户其他关联账户

影响范围

  • 所有使用Messenger iOS App并通过GIF功能发送动图的用户
  • 特别影响那些频繁使用GIF功能的活跃用户

漏洞复现步骤

  1. 在iOS设备上安装Facebook Messenger应用
  2. 配置Burp Suite作为中间人代理
  3. 在Messenger中打开聊天窗口并点击GIF搜索功能
  4. 搜索并选择任意GIF动图
  5. 在Burp捕获的请求中检查发送给Tenor服务的请求
  6. 分析请求头和参数,查找包含"access_token"的字段

漏洞修复过程

Facebook响应时间线

  • 漏洞报告:研究人员发现后立即上报
  • 临时补丁:5小时内发布
  • 最终修复:未明确说明,但后续版本已解决

修复措施

  1. 立即撤销所有泄露到Tenor的访问令牌
  2. 修改Messenger iOS App的API调用逻辑
  3. 确保GIF请求不再包含用户访问令牌
  4. 实施更严格的令牌传输控制机制

安全建议

对于开发者

  1. 严格审查所有向第三方服务发起的请求
  2. 避免在非必要情况下向第三方传输敏感凭证
  3. 实施自动化的敏感信息泄露检测机制
  4. 建立快速响应和修复的安全流程

对于用户

  1. 定期检查应用的权限设置
  2. 关注官方发布的安全更新并及时更新应用
  3. 对于异常登录活动保持警惕
  4. 考虑使用应用内购买的正版GIF而非第三方服务

经验教训

  1. 第三方集成风险:与第三方服务集成时需特别注意数据安全
  2. 自动化测试重要性:应建立自动化测试检测凭证泄露
  3. 快速响应价值:Facebook的快速响应避免了漏洞被大规模利用
  4. 纵深防御:不应依赖单一安全机制保护敏感凭证

参考资源

  • 原始漏洞报告: Medium文章
  • Facebook安全响应流程
  • OAuth 2.0访问令牌安全最佳实践

本报告基于公开的漏洞披露信息整理,旨在提供技术分析和教育目的,不得用于任何恶意用途。

Facebook Messenger iOS App 访问令牌泄露漏洞分析报告 漏洞概述 本报告详细分析了一个Facebook Messenger iOS应用程序中存在的安全漏洞,该漏洞会导致用户访问令牌(Access Token)被泄露给第三方服务提供商Tenor GIF。该漏洞由安全研究人员在2020年发现并报告给Facebook安全团队。 漏洞技术细节 漏洞发现环境 测试平台 : iOS操作系统 测试应用 : Facebook Messenger iOS App 测试工具 : Burp Suite抓包工具 触发场景 : 用户通过Messenger应用搜索并发送GIF动图表情时 漏洞机制 当用户在Messenger iOS App中搜索GIF动图时,应用会向Tenor GIF服务发送请求 这些请求中意外包含了用户的Facebook访问令牌(access_ token) 访问令牌被明文传输到第三方服务Tenor的服务器 访问令牌(Access Token)的重要性 身份验证凭证:代表用户在短时间内执行身份认证或权限操作 账户控制能力:可用于无密码登录相应用户账户 权限代表:通常包含用户授权给应用的一系列权限 漏洞影响评估 潜在风险 账户接管 :攻击者可利用泄露的访问令牌直接登录用户账户 数据泄露 :可访问用户私密信息和聊天记录 权限滥用 :根据令牌权限,可能执行用户授权范围内的各种操作 横向移动 :如果令牌权限足够,可能影响用户其他关联账户 影响范围 所有使用Messenger iOS App并通过GIF功能发送动图的用户 特别影响那些频繁使用GIF功能的活跃用户 漏洞复现步骤 在iOS设备上安装Facebook Messenger应用 配置Burp Suite作为中间人代理 在Messenger中打开聊天窗口并点击GIF搜索功能 搜索并选择任意GIF动图 在Burp捕获的请求中检查发送给Tenor服务的请求 分析请求头和参数,查找包含"access_ token"的字段 漏洞修复过程 Facebook响应时间线 漏洞报告 :研究人员发现后立即上报 临时补丁 :5小时内发布 最终修复 :未明确说明,但后续版本已解决 修复措施 立即撤销所有泄露到Tenor的访问令牌 修改Messenger iOS App的API调用逻辑 确保GIF请求不再包含用户访问令牌 实施更严格的令牌传输控制机制 安全建议 对于开发者 严格审查所有向第三方服务发起的请求 避免在非必要情况下向第三方传输敏感凭证 实施自动化的敏感信息泄露检测机制 建立快速响应和修复的安全流程 对于用户 定期检查应用的权限设置 关注官方发布的安全更新并及时更新应用 对于异常登录活动保持警惕 考虑使用应用内购买的正版GIF而非第三方服务 经验教训 第三方集成风险 :与第三方服务集成时需特别注意数据安全 自动化测试重要性 :应建立自动化测试检测凭证泄露 快速响应价值 :Facebook的快速响应避免了漏洞被大规模利用 纵深防御 :不应依赖单一安全机制保护敏感凭证 参考资源 原始漏洞报告: Medium文章 Facebook安全响应流程 OAuth 2.0访问令牌安全最佳实践 本报告基于公开的漏洞披露信息整理,旨在提供技术分析和教育目的,不得用于任何恶意用途。