挖洞经验 | 看我如何发现价值$3000美金的Facebook视频缩略图信息泄露漏洞
字数 1496 2025-08-18 11:37:23

Facebook视频缩略图信息泄露漏洞挖掘与分析

漏洞概述

本教学文档详细分析了一个价值$3000美金的Facebook漏洞发现过程,该漏洞涉及Canvas广告功能中的视频缩略图信息泄露问题。通过不安全的对象引用(IDOR),攻击者能够访问并预览其他用户的私有视频内容缩略图,特别是在企业专用的Workplace应用环境中,可能导致敏感信息泄露。

漏洞发现环境

目标系统

  • Facebook Canvas:Facebook的交互式全屏广告功能,允许整合图片、视频、文本和CTA按钮
  • Workplace:Facebook的企业内部交流应用,具有权限限制的消息系统

测试工具

  • Burpsuite:用于网络流量抓包和分析
  • 多个测试账号:用于验证跨账号操作

漏洞发现过程

1. 目标选择与研究

  • 阅读Facebook相关漏洞报告(writeup)
  • 确定Facebook Canvas功能作为主要测试目标
  • 了解Canvas功能的基本操作流程

2. 初步测试

  1. 创建Canvas内容并上传视频
  2. 使用Burpsuite捕获编辑操作的网络请求
  3. 分析捕获的POST请求:
POST /v2.11/{My_Page_ID}?access_token={My_page_Access_Token} HTTP/1.1
Host: graph.facebook.com
[...]
video_id=956034724555363

关键参数:video_id,标识上传的视频

3. IDOR漏洞验证

  1. 使用另一个测试账号上传视频,获取新的video_id
  2. 替换原始请求中的video_id为其他账号的视频ID
  3. 成功上传并关联其他账号的视频
  4. 验证删除操作同样存在IDOR问题

4. 扩展到Workplace环境

  1. 在Workplace测试账号发布受限视频
  2. 捕获Workplace视频的video_id
  3. 尝试在Canvas功能中使用该video_id
  4. 发现虽然无法直接预览,但能生成视频缩略图

5. 绕过预览限制

  1. 使用"发送到智能手机预览"功能
  2. 在移动设备上接收预览链接
  3. 成功查看受限视频的缩略图内容

漏洞原理分析

技术本质

  • 不安全的直接对象引用(IDOR):系统仅通过video_id标识视频,未验证用户权限
  • 功能设计缺陷:Canvas预览功能未完全遵循Workplace的权限控制机制

影响范围

  • 任何可获取video_id的视频内容
  • 特别严重的是Workplace中的企业内部视频
  • 可能泄露敏感信息:会议内容、私人邮箱、商业机密等

漏洞利用场景

  1. 收集公开或半公开视频的video_id
  2. 通过Canvas功能关联这些视频
  3. 利用预览功能获取受限内容的缩略图
  4. 可能获取企业内部的敏感信息片段

漏洞修复建议

  1. 实施严格的权限验证:

    • 检查用户是否有权访问指定的video_id
    • 对不同来源的视频实施不同的访问控制
  2. 功能隔离:

    • Workplace视频不应被Canvas功能引用
    • 或者实施跨功能的统一权限检查
  3. 预览功能加固:

    • 确保预览功能遵循原始内容的权限设置
    • 对移动端预览实施相同的安全检查

漏洞报告时间线

  1. 2018.3.30 — 漏洞初报
  2. 2018.4.5 — 漏洞分类
  3. 2018.4.10 — 漏洞修复
  4. 2018.4.10 — 修复确认
  5. 2018.5.3 — 获得$3000奖金

经验总结

  1. 功能交互测试:测试不同功能间的交互往往能发现意外漏洞
  2. 跨环境测试:将发现的问题应用到不同环境(如Workplace)可能扩大影响
  3. 预览机制绕过:当直接访问受限时,考虑其他间接访问方式
  4. IDOR漏洞挖掘:关注所有对象引用参数,测试替换为其他用户的对象ID

测试方法论

  1. 全面记录所有请求参数
  2. 系统性地替换每个参数测试
  3. 验证正向和反向操作(如上传和删除)
  4. 跨账号、跨环境验证问题
  5. 尝试各种可能的绕过方式

通过这种系统化的测试方法,可以有效发现类似的信息泄露漏洞。

Facebook视频缩略图信息泄露漏洞挖掘与分析 漏洞概述 本教学文档详细分析了一个价值$3000美金的Facebook漏洞发现过程,该漏洞涉及Canvas广告功能中的视频缩略图信息泄露问题。通过不安全的对象引用(IDOR),攻击者能够访问并预览其他用户的私有视频内容缩略图,特别是在企业专用的Workplace应用环境中,可能导致敏感信息泄露。 漏洞发现环境 目标系统 Facebook Canvas :Facebook的交互式全屏广告功能,允许整合图片、视频、文本和CTA按钮 Workplace :Facebook的企业内部交流应用,具有权限限制的消息系统 测试工具 Burpsuite:用于网络流量抓包和分析 多个测试账号:用于验证跨账号操作 漏洞发现过程 1. 目标选择与研究 阅读Facebook相关漏洞报告(writeup) 确定Facebook Canvas功能作为主要测试目标 了解Canvas功能的基本操作流程 2. 初步测试 创建Canvas内容并上传视频 使用Burpsuite捕获编辑操作的网络请求 分析捕获的POST请求: 关键参数: video_id ,标识上传的视频 3. IDOR漏洞验证 使用另一个测试账号上传视频,获取新的 video_id 替换原始请求中的 video_id 为其他账号的视频ID 成功上传并关联其他账号的视频 验证删除操作同样存在IDOR问题 4. 扩展到Workplace环境 在Workplace测试账号发布受限视频 捕获Workplace视频的 video_id 尝试在Canvas功能中使用该 video_id 发现虽然无法直接预览,但能生成视频缩略图 5. 绕过预览限制 使用"发送到智能手机预览"功能 在移动设备上接收预览链接 成功查看受限视频的缩略图内容 漏洞原理分析 技术本质 不安全的直接对象引用(IDOR) :系统仅通过 video_id 标识视频,未验证用户权限 功能设计缺陷 :Canvas预览功能未完全遵循Workplace的权限控制机制 影响范围 任何可获取 video_id 的视频内容 特别严重的是Workplace中的企业内部视频 可能泄露敏感信息:会议内容、私人邮箱、商业机密等 漏洞利用场景 收集公开或半公开视频的 video_id 通过Canvas功能关联这些视频 利用预览功能获取受限内容的缩略图 可能获取企业内部的敏感信息片段 漏洞修复建议 实施严格的权限验证: 检查用户是否有权访问指定的 video_id 对不同来源的视频实施不同的访问控制 功能隔离: Workplace视频不应被Canvas功能引用 或者实施跨功能的统一权限检查 预览功能加固: 确保预览功能遵循原始内容的权限设置 对移动端预览实施相同的安全检查 漏洞报告时间线 2018.3.30 — 漏洞初报 2018.4.5 — 漏洞分类 2018.4.10 — 漏洞修复 2018.4.10 — 修复确认 2018.5.3 — 获得$3000奖金 经验总结 功能交互测试 :测试不同功能间的交互往往能发现意外漏洞 跨环境测试 :将发现的问题应用到不同环境(如Workplace)可能扩大影响 预览机制绕过 :当直接访问受限时,考虑其他间接访问方式 IDOR漏洞挖掘 :关注所有对象引用参数,测试替换为其他用户的对象ID 测试方法论 全面记录所有请求参数 系统性地替换每个参数测试 验证正向和反向操作(如上传和删除) 跨账号、跨环境验证问题 尝试各种可能的绕过方式 通过这种系统化的测试方法,可以有效发现类似的信息泄露漏洞。