挖洞经验 | Facebook全平台聊天应用中的用户发送附件泄露漏洞($15,000)
字数 1235 2025-08-18 11:38:08

Facebook全平台聊天应用附件泄露漏洞分析报告

漏洞概述

漏洞类型:IDOR(不安全的直接对象引用)导致的附件泄露
影响范围:Facebook全平台聊天应用(包括Messenger、Portal和Workplace)
漏洞危害:攻击者可获取其他用户在聊天中发送的任何附件(图片、文档、视频、音频)
漏洞奖励:$15,000(Facebook漏洞赏金计划)
发现时间:2019年1月22日
修复时间:2019年2月13日

漏洞发现过程

1. 目标选择

  • 测试目标:Facebook视频聊天设备Portal官网(portal.facebook.com)
  • 关注点:新加入的"客户支持聊天机器人(Support Bot)"功能

2. 功能测试

  • 发现Support Bot支持附件上传功能(图片、视频、文档等)
  • 使用Burpsuite对上传操作进行抓包分析

3. 关键请求分析

捕获到的关键POST请求:

POST /messaging/send/ HTTP/1.1
Host: www.facebook.com
client=mercury&action_type=ma-type:user-generated-message&body=&ephemeral_ttl_mode=0&has_attachment=trueℑℑ_ids[0]=123&message_id=111&offline_threading_id=123

4. 关键参数

  • image_ids[0]:上传图片的唯一标识符
  • 推测:通过修改此ID可能访问其他用户的附件

漏洞验证

测试方法

  1. 创建两个测试账户(attacker和victim)
  2. 使用victim账户上传附件
  3. 使用attacker账户尝试通过修改image_ids[0]访问victim的附件

验证结果

  1. 成功获取其他用户通过Portal聊天机器人发送的任何附件
  2. 影响范围扩展到所有Facebook聊天架构应用:
    • Facebook主聊天系统
    • Messenger
    • Portal聊天应用
    • Workplace聊天应用

特殊发现

  • 在Burpsuite的Proxy代理中可成功复现
  • 发送到Repeater模块进行重放攻击会返回未知错误

漏洞利用场景

潜在攻击方式

  1. 编写脚本工具暴力枚举附件ID:
    • Images IDs
    • Video IDs
    • Files IDs
    • Audio messages IDs

危害评估

  • Facebook聊天应用日均用户数百万
  • 可能导致VIP人士的敏感附件泄露
  • 严重威胁用户个人隐私

漏洞修复与上报

上报时间线

  • 2019.1.22:漏洞初报
  • 2019.2.4:漏洞分类
  • 2019.2.13:漏洞修复
  • 2019.2.13:修复确认
  • 2019.2.13:$15,000赏金发放

经验总结

  1. 定期重测原则:即使之前测试过的目标,也应定期重新测试,特别是新添加或更新的功能
  2. 不轻信响应:出错响应不一定意味着操作不可行,应深入分析
  3. 关注附件处理:任何涉及附件上传/下载的功能都应仔细检查ID引用机制
  4. 全平台影响评估:发现一个组件的漏洞后,应评估其对相关平台的影响范围

防御建议

  1. 服务端

    • 实施严格的权限检查,验证用户是否有权访问请求的资源
    • 使用不可预测的标识符(如UUID而非自增ID)
    • 实施访问控制列表(ACL)
  2. 客户端

    • 避免在客户端暴露敏感对象引用
    • 实施CSRF防护措施
  3. 监控

    • 设置异常访问模式检测
    • 监控短时间内对多个资源ID的访问尝试
Facebook全平台聊天应用附件泄露漏洞分析报告 漏洞概述 漏洞类型 :IDOR(不安全的直接对象引用)导致的附件泄露 影响范围 :Facebook全平台聊天应用(包括Messenger、Portal和Workplace) 漏洞危害 :攻击者可获取其他用户在聊天中发送的任何附件(图片、文档、视频、音频) 漏洞奖励 :$15,000(Facebook漏洞赏金计划) 发现时间 :2019年1月22日 修复时间 :2019年2月13日 漏洞发现过程 1. 目标选择 测试目标:Facebook视频聊天设备Portal官网(portal.facebook.com) 关注点:新加入的"客户支持聊天机器人(Support Bot)"功能 2. 功能测试 发现Support Bot支持附件上传功能(图片、视频、文档等) 使用Burpsuite对上传操作进行抓包分析 3. 关键请求分析 捕获到的关键POST请求: 4. 关键参数 image_ids[0] :上传图片的唯一标识符 推测:通过修改此ID可能访问其他用户的附件 漏洞验证 测试方法 创建两个测试账户(attacker和victim) 使用victim账户上传附件 使用attacker账户尝试通过修改 image_ids[0] 访问victim的附件 验证结果 成功获取其他用户通过Portal聊天机器人发送的任何附件 影响范围扩展到所有Facebook聊天架构应用: Facebook主聊天系统 Messenger Portal聊天应用 Workplace聊天应用 特殊发现 在Burpsuite的Proxy代理中可成功复现 发送到Repeater模块进行重放攻击会返回未知错误 漏洞利用场景 潜在攻击方式 编写脚本工具暴力枚举附件ID: Images IDs Video IDs Files IDs Audio messages IDs 危害评估 Facebook聊天应用日均用户数百万 可能导致VIP人士的敏感附件泄露 严重威胁用户个人隐私 漏洞修复与上报 上报时间线 2019.1.22:漏洞初报 2019.2.4:漏洞分类 2019.2.13:漏洞修复 2019.2.13:修复确认 2019.2.13:$15,000赏金发放 经验总结 定期重测原则 :即使之前测试过的目标,也应定期重新测试,特别是新添加或更新的功能 不轻信响应 :出错响应不一定意味着操作不可行,应深入分析 关注附件处理 :任何涉及附件上传/下载的功能都应仔细检查ID引用机制 全平台影响评估 :发现一个组件的漏洞后,应评估其对相关平台的影响范围 防御建议 服务端 : 实施严格的权限检查,验证用户是否有权访问请求的资源 使用不可预测的标识符(如UUID而非自增ID) 实施访问控制列表(ACL) 客户端 : 避免在客户端暴露敏感对象引用 实施CSRF防护措施 监控 : 设置异常访问模式检测 监控短时间内对多个资源ID的访问尝试