挖洞经验 | 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动图表情时
漏洞机制
- 当用户在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访问令牌安全最佳实践
本报告基于公开的漏洞披露信息整理,旨在提供技术分析和教育目的,不得用于任何恶意用途。