只需一张ID,我本可恶搞FIFA世界杯
速览
该资讯标题暗示存在某种安全漏洞或社会工程学攻击手段,允许攻击者仅通过获取用户ID即可对FIFA世界杯相关服务或内容进行Rickroll恶搞。这反映了网络安全领域中身份认证机制可能存在的风险,以及社会工程学在攻击中的潜在应用。
AI 深度解读
我本可以“瑞克摇”FIFA 世界杯:只需一张身份证
背景
FIFA(国际足联)拥有一个名为 FIFA Agent Platform(FAP,FIFA 代理平台)的公开门户,用于注册和认证足球经纪人。注册流程看似简单:提交身份证件、验证电子邮件即可。然而,这一看似普通的注册流程背后,隐藏着严重的安全架构缺陷。
作者通过正常注册流程,意外发现其账户被添加到了 FIFA 的 Microsoft Entra 租户(原 Azure AD)中。该租户不仅服务于代理平台,还支撑着 FIFA 所有的内部平台。由于身份证件照片光线问题,前两次注册失败,但第三次成功。随后,作者收到一封主题为“FIFA - FAP - CONFIRMATION”的确认邮件(注:FAP 缩写颇具讽刺意味)。
核心内容
1. 客户端鉴权的虚假安全感
注册完成后,作者尝试访问 FIFA Football Data Platform(fdp.fifa.org,FIFA 足球数据平台)。应用通过共享的 Entra 租户进行身份验证,检查角色权限后发现作者没有任何角色分配,前端 Angular 应用检测到 JWT 中的 NO_ROLES 标记,从而渲染出“访问被拒绝”的页面。
这给人一种“访问被拒,无事发生”的错觉。然而,这仅仅是客户端(Client-side)的逻辑限制。后端的 API 并未进行任何权限检查,而是直接响应所有请求。
2. 暴露的 2026 年世界杯直播管理面板
绕过前端限制后,作者直接访问了 Streaming Management Panel(直播管理面板)。这里展示的是 FIFA World Cup 2026(2026 年 FIFA 世界杯)的实时生产环境数据,而非测试数据。
- 全量比赛数据:涵盖每一场比赛、每一个摄像机角度。
- 详细流媒体信息:每场比赛包含五个摄像机视角(PGM、战术、Camera1、High Behind Left、High Behind Right)。
- 关键凭证泄露:每个视角都包含:
- RTMP 推流 URL:摄像机向何处发送视频。
- 预览 Manifest:用于观看直播流的地址。
- 输出 URL:发送给广播合作伙伴的 HLS Manifest。
例如,RTMP 推流 URL 格式如下:
rtmp://in-6c81fc99-513f-4c76-82c2-877e0b93f2ea.westeurope.streaming.mediakind.com:1935/96886a14-9987-420f-814c-2f7cec5408ae
其中末尾的 UUID 是流密钥(Stream Key)。值得注意的是,同一场比赛的五个摄像机角度共享同一个流密钥。该基础设施托管在 FIFA 的流媒体技术合作伙伴 MediaKind 上,这些是接收来自美国、墨西哥和加拿大体育场实时摄像机画面的生产端点。
3. 实时直播验证与潜在危害
为了验证预览 Manifest 是否有效,作者将其复制到 VLC 播放器中,成功播放了一场正在进行的 2026 年世界杯比赛的实时战术摄像机画面。这证实了预览 URL 在活动期间向任何拥有 URL 的人提供实时视频。
更危险的是,该面板拥有完整的控制权(开始、停止、调度)。作者虽未操作,但只需点击一次即可切断直播画面。
“核选项”风险: RTMP 推流 URL 是体育场摄像机到 FIFA 广播分发链的物理管道(摄像机 -> RTMP 推流 -> MediaKind -> 广播合作伙伴 -> 电视)。如果攻击者使用公开的流密钥向这些 RTMP 端点推送视频,即可替换摄像机画面。由于主广播输出(PGM 流)的密钥与其他视角共享,单一攻击者可以同时劫持所有摄像机,向全球电视网络播放任意内容(如“瑞克摇”视频或游戏画面)。作者并未实际测试此攻击,但基础设施完全开放。
4. 无权限账户的全平台访问
除了直播管理面板,NO_ROLES(无角色)账户还访问了平台的几乎所有部分,包括:
- Competitions(赛事)、Matches(比赛)、Teams(球队)、Tools(工具)、Exchange Platform(交换平台)、Analysis Dashboard(分析仪表板)、Commentator Information System(解说员信息系统)、FIFA AI Pro、Admin(管理后台)。
实时比赛仪表板: 包含嵌入式视频播放器、实时事件时间线和比赛官员数据。例如,显示“科特迪瓦 vs 厄瓜多尔”的实时比分、黄牌时间线等。
高级分析与写入权限:
- 实时数据:控球率、射门创造、球权恢复时间、跑动距离及 FIFA AI Pro 集成数据。
- 写入操作:后端接受来自无角色账户的写入请求。攻击者可:
- 修改并广播编辑评论笔记。
- 调整官方开球时间。
- 发送战术阵型数据。
- 更改比分和比赛统计数据。 这些数据会直接反馈到解说员信息系统,并在电视直播中显示。
解说员信息系统 (CIS):
通过 cis.fifa.org 可访问实时解说仪表板,显示比分、赛程、球员位置、阵型、实时统计、换人时间线及阵容数据。作者可以看到每场比赛准备的所有编辑笔记、赛前统计套件和解说要点。
5. 额外的开发环境泄露
作者还发现了一个 Azure Function App (xxxxxxx-spreadsheets-api.azurewebsites.net),返回了 23 个内部 FIFA 文件的元数据和直接 Azure Blob Storage 下载 URL。
- 文件包括:
00_TransferCount_in_ENGLISH.xlsx(转会计数)、0_pending_transfers_example.xlsx(待处理转会示例)、Debbie.xlsx等。 - 内容涵盖转会报告、收入对比、董事会代表数据、裁判和教练统计。
- 所有文件均可在零角色检查的情况下直接下载。
6. 报告困境
发现漏洞时正值世界杯期间,比赛正在进行,RTMP URL 活跃,流密钥暴露。然而,FIFA 没有漏洞赏金计划(Bug Bounty Program),没有 security.txt 文件,也没有公开的联系方式。作者不得不凌晨 3 点(东京时间)致电 FIFA、MediaKind、HBS、CISA(美国网络安全和基础设施安全局)和 FBI 才有人理会。最终,问题在未得到官方回应的情况下被修复。
关键要点
- 客户端鉴权不可信:Angular 应用基于 JWT 中的
NO_ROLES标记在前端拦截访问,但后端 API 完全未进行权限验证,导致越权访问。 - 生产环境数据泄露:无权限账户可直接访问 2026 年世界杯的实时直播管理面板,包括所有比赛的 RTMP 推流 URL、预览 Manifest 和输出 URL。
- 流密钥共享风险:同一场比赛的多个摄像机角度共享同一个 RTMP 流密钥,使得攻击者能够同时劫持多个画面。
- 实时直播劫持潜力:攻击者可通过向公开的 RTMP 端点推送视频,替换主广播流(PGM),向全球电视观众播放任意内容。
- 数据完整性受损:无角色账户拥有写入权限,可修改比赛统计、开球时间、战术阵型及解说员使用的实时数据,直接影响电视直播内容。
- 敏感文件暴露:Azure Blob Storage 中的内部 Excel 文件(如转会数据、收入报告)可通过公开 API 直接下载。
- 应急响应艰难:由于 FIFA 缺乏标准的安全报告渠道(无漏洞赏金、无 security.txt),白帽研究人员需通过紧急热线联系多方机构(包括 FBI 和 CISA)才能促使修复。
意义与影响
此案例揭示了大型体育组织在数字化转型中面临的严峻安全挑战。首先,它展示了**身份与访问管理(IAM)**配置错误的严重后果。将公共注册门户与内部生产平台置于同一 Entra 租户下,且后端缺乏严格的 RBAC(基于角色的
