挖洞经验 | Facebook商务平台商家管理员账户添加漏洞( $27,500)
字数 1690 2025-08-18 11:37:45

Facebook商务平台商家管理员账户添加漏洞分析报告

漏洞概述

本报告详细分析Facebook商务管理平台(Business Manager)中存在的一个高危权限提升漏洞,攻击者可通过构造特定POST请求,向任意商家后台管理员账户组中添加具备管理员权限的账户,从而获得对商家后台的完全控制权限。该漏洞于2018年被发现并报告,Facebook官方已修复并向报告者支付了$27,500的漏洞赏金。

Facebook商务管理平台简介

Facebook商务管理平台(https://www.facebook.com/business/)是一个免费平台,主要功能包括:

  • 帮助广告主集成所有Facebook营销活动和外部合作伙伴
  • 投放和追踪广告
  • 管理主页和广告账户等资产
  • 添加经销商或营销合作伙伴协助业务管理
  • 集中管理所有业务资产和信息
  • 安全管理用户访问权限

商家管理员账户(admin)拥有最高权限,可管理商家平台和主页中的所有设置、用户和权限。

漏洞技术细节

漏洞位置

存在于Facebook Business商家主页的管理设置中,向商家后台添加管理员账户的调用请求。

漏洞原理

该API端点缺乏必要的权限验证机制,导致攻击者可以向任意商家后台添加管理员账户。

漏洞利用方法

攻击者可通过构造以下格式的POST请求实现漏洞利用:

HTTP POST /business/aymc_assets/admins/import/
Host: facebook.com
business_id=TARGET_BUSINESS_ID
admin_id=MALICIOUS_USER_ID
session_id=SESSION_ID

参数说明:

  • business_id: 目标商家的ID号
  • admin_id: 要添加的恶意用户ID号
  • session_id: 有效的会话ID

获取必要参数的方法

  1. business_id:

    • 可通过网络抓包分析商家后台的正常请求
    • 或通过Facebook API查询目标商家的公开信息
  2. admin_id:

    • 攻击者需要预先创建一个Facebook账户
    • 通过用户资料页面或API获取该账户的ID
  3. session_id:

    • 攻击者需要拥有一个有效的Facebook登录会话
    • 可通过XSS或其他漏洞获取,或使用攻击者自己的合法会话

漏洞影响

成功利用此漏洞可导致:

  1. 权限提升:将普通用户或未授权用户添加为目标商家的管理员
  2. 完全控制:获得对商家以下资源的完全管理权限:
    • Facebook业务后台
    • 商务主页
    • 广告账户
    • 关联的应用程序
    • Instagram账户(如果已关联)
  3. 数据泄露:访问商家敏感业务数据和客户信息
  4. 金融风险:控制广告预算和支付方式
  5. 品牌声誉损害:以商家名义发布不当内容

漏洞修复时间线

  • 2018.10.9: 漏洞初次上报至Facebook安全团队
  • 2018.10.9: Facebook开始分析验证
  • 2018.10.10: Facebook临时移除存在漏洞的服务端
  • 2018.10.15: Facebook完成审计确认
  • 2018.10.15: Facebook发布正式修复
  • 2018.10.17: 向报告者发放$27,500漏洞赏金

安全建议

对于平台开发者

  1. 实施严格的权限验证

    • 所有管理操作应验证调用者是否具有足够权限
    • 采用"最小权限原则"设计API
  2. 业务逻辑安全

    • 关键操作应验证用户与业务实体的关联关系
    • 实现多因素验证机制
  3. 输入验证

    • 验证所有输入的business_id确实属于当前用户有权管理的业务
  4. 日志监控

    • 记录所有管理员添加操作
    • 设置异常操作告警

对于商家用户

  1. 定期审计账户权限

    • 检查管理员账户列表是否有异常添加
    • 移除不再需要的管理员账户
  2. 启用安全通知

    • 开启账户变更通知功能
    • 设置异常登录告警
  3. 使用双重认证

    • 为所有管理员账户启用2FA
  4. 最小权限原则

    • 仅授予必要人员管理员权限
    • 使用不同权限级别的账户

漏洞披露伦理

本漏洞已按照负责任的披露流程处理:

  1. 发现者首先向厂商报告
  2. 给予厂商合理时间修复
  3. 在修复完成并确认后才公开细节
  4. 仅用于安全研究目的

结论

此漏洞展示了即使是Facebook这样的科技巨头也可能在权限管理设计上存在严重疏忽。它强调了在业务逻辑层面实施严格访问控制的重要性,特别是在涉及管理员权限操作时。对于企业级平台,任何不验证调用者权限的API都可能成为攻击者提权的入口点。

Facebook商务平台商家管理员账户添加漏洞分析报告 漏洞概述 本报告详细分析Facebook商务管理平台(Business Manager)中存在的一个高危权限提升漏洞,攻击者可通过构造特定POST请求,向任意商家后台管理员账户组中添加具备管理员权限的账户,从而获得对商家后台的完全控制权限。该漏洞于2018年被发现并报告,Facebook官方已修复并向报告者支付了$27,500的漏洞赏金。 Facebook商务管理平台简介 Facebook商务管理平台(https://www.facebook.com/business/)是一个免费平台,主要功能包括: 帮助广告主集成所有Facebook营销活动和外部合作伙伴 投放和追踪广告 管理主页和广告账户等资产 添加经销商或营销合作伙伴协助业务管理 集中管理所有业务资产和信息 安全管理用户访问权限 商家管理员账户(admin)拥有最高权限,可管理商家平台和主页中的所有设置、用户和权限。 漏洞技术细节 漏洞位置 存在于Facebook Business商家主页的管理设置中,向商家后台添加管理员账户的调用请求。 漏洞原理 该API端点缺乏必要的权限验证机制,导致攻击者可以向任意商家后台添加管理员账户。 漏洞利用方法 攻击者可通过构造以下格式的POST请求实现漏洞利用: 参数说明: business_id : 目标商家的ID号 admin_id : 要添加的恶意用户ID号 session_id : 有效的会话ID 获取必要参数的方法 business_ id : 可通过网络抓包分析商家后台的正常请求 或通过Facebook API查询目标商家的公开信息 admin_ id : 攻击者需要预先创建一个Facebook账户 通过用户资料页面或API获取该账户的ID session_ id : 攻击者需要拥有一个有效的Facebook登录会话 可通过XSS或其他漏洞获取,或使用攻击者自己的合法会话 漏洞影响 成功利用此漏洞可导致: 权限提升 :将普通用户或未授权用户添加为目标商家的管理员 完全控制 :获得对商家以下资源的完全管理权限: Facebook业务后台 商务主页 广告账户 关联的应用程序 Instagram账户(如果已关联) 数据泄露 :访问商家敏感业务数据和客户信息 金融风险 :控制广告预算和支付方式 品牌声誉损害 :以商家名义发布不当内容 漏洞修复时间线 2018.10.9: 漏洞初次上报至Facebook安全团队 2018.10.9: Facebook开始分析验证 2018.10.10: Facebook临时移除存在漏洞的服务端 2018.10.15: Facebook完成审计确认 2018.10.15: Facebook发布正式修复 2018.10.17: 向报告者发放$27,500漏洞赏金 安全建议 对于平台开发者 实施严格的权限验证 : 所有管理操作应验证调用者是否具有足够权限 采用"最小权限原则"设计API 业务逻辑安全 : 关键操作应验证用户与业务实体的关联关系 实现多因素验证机制 输入验证 : 验证所有输入的business_ id确实属于当前用户有权管理的业务 日志监控 : 记录所有管理员添加操作 设置异常操作告警 对于商家用户 定期审计账户权限 : 检查管理员账户列表是否有异常添加 移除不再需要的管理员账户 启用安全通知 : 开启账户变更通知功能 设置异常登录告警 使用双重认证 : 为所有管理员账户启用2FA 最小权限原则 : 仅授予必要人员管理员权限 使用不同权限级别的账户 漏洞披露伦理 本漏洞已按照负责任的披露流程处理: 发现者首先向厂商报告 给予厂商合理时间修复 在修复完成并确认后才公开细节 仅用于安全研究目的 结论 此漏洞展示了即使是Facebook这样的科技巨头也可能在权限管理设计上存在严重疏忽。它强调了在业务逻辑层面实施严格访问控制的重要性,特别是在涉及管理员权限操作时。对于企业级平台,任何不验证调用者权限的API都可能成为攻击者提权的入口点。