我本来可以用我的ID把整个FIFA世界杯变成Rickroll
摘要
一名安全研究人员发现,注册为FIFA代理人即可获得FIFA的Microsoft Entra租户访问权限,从而绕过客户端身份验证,访问2026年世界杯的实时直播流管理面板,包括所有比赛的RTMP流密钥。该研究人员不得不联系FIFA、MediaKind、HBS、CISA和FBI以修复此问题。
<p><a href="https://lobste.rs/s/z5wfi9/i_could_ve_rickrolled_entire_fifa_world">评论</a></p>
查看缓存全文
缓存时间: 2026/06/17 09:42
# 我本来可以Rickroll整个FIFA世界杯。我只需要一张身份证。
来源:https://bobdahacker.com/blog/fifa-hack
*他们修复了漏洞,但从未回复我。我不得不在东京时间凌晨3点打电话给FIFA、MediaKind、HBS、CISA和FBI,只为有人能听我说话。这就是那个故事。*
## 一切始于一名足球经纪人注册
FIFA有个叫“FIFA经纪人平台”的东西(https://agents.fifa.org/)。这是一个公开门户,你可以在这里注册成为持牌足球经纪人。提交身份证,验证邮箱,然后你就注册成功了。就这么简单。
但我没想到接下来会发生什么。
当你在agents.fifa.org注册时,FIFA会将你的账户添加到他们的Microsoft Entra租户(原Azure AD)中。而**所有**FIFA内部平台都使用同一个租户。我是说所有的。
前两次尝试因身份证照片光线不够好而失败:
FIFA注册失败 *“注册在最后一步身份验证时失败。”——显然FIFA对我自拍的要求比实际安全性更高*
但第三次尝试通过了。然后我收到了这封漂亮的邮件:
FIFA FAP确认邮件 *主题行:“FIFA - FAP - CONFIRMATION”。没错,FIFA的经纪人平台官方缩写是FAP。我没法编造这个。FAP确认。继续往下看。*
## 那个“访问被拒绝”其实不是那么回事
注册后,我尝试导航到`fdp.fifa.org`——FIFA的足球数据平台。该应用通过共享的Entra租户对我进行身份验证,检查了我的角色,发现我没有任何角色,于是显示:
*“抱歉,您的账户没有分配任何FIFA足球数据平台角色。”*
看起来没问题,对吧?访问被拒绝。走开。这里没什么好看的。
但这一切都是**客户端**操作。Angular应用检查了JWT中的`NO_ROLES`标记,然后渲染了访问拒绝页面。而后端API?它们什么都没检查。只是你问什么它们就给什么。
## 欢迎进入流媒体管理面板
绕过客户端防护后,我进入了流媒体管理面板。然后我惊掉了下巴。
显示所有世界杯比赛的流媒体管理面板 *每一场2026年FIFA世界杯比赛。带有流媒体控制功能。*
这可不是什么开发环境。也不是测试数据。这是2026年FIFA世界杯的**线上生产环境流媒体管理面板**。每场比赛。每个摄像机角度。每个RTMP摄取URL。每个流密钥。
让我展开其中一场比赛,方便你看清楚:
展开的比赛显示所有五个摄像头的RTMP URL *每场比赛五个摄像机角度:PGM、战术、摄像机1、左后高、右后高*
每场比赛有五个摄像机馈送,每个都包含:
- 一个**RTMP摄取URL**(摄像机向此发送视频)
- 一个**预览清单**(可以观看该馈送)
- 一个**输出URL**(发送给广播合作伙伴的HLS清单)
RTMP摄取URL看起来像这样:
```
rtmp://in-6c81fc99-513f-4c76-82c2-877e0b93f2ea.westeurope.streaming.mediakind.com:1935/96886a14-9987-420f-814c-2f7cec5408ae
```
末尾的那个UUID?`96886a14-9987-420f-814c-2f7cec5408ae`。这就是**流密钥**(不是真实的)。同一场比赛的所有五个摄像机角度共享这个密钥。一个密钥统治一切。
流媒体基础设施托管在MediaKind(https://mediakind.com/)上,这是FIFA的流媒体技术合作伙伴。这些都是生产环境端点。正是那些从美国、墨西哥和加拿大体育场接收实时摄像机馈送的端点。
## 我打开了VLC。它是直播的。
我必须确认预览清单确实有效。于是我复制了一个粘贴到VLC中。
VLC播放实时世界杯战术摄像机馈送 *那是一个正在进行的2026年FIFA世界杯比赛的实时战术摄像机馈送。在VLC中播放。在我的东京PC上。*
我立刻关掉了它。但伤害已经造成(对我来说)。那些预览URL在比赛进行期间向外提供实时视频。任何人只要有URL就能观看。
## 我本来可以停止流媒体
这不只是读取访问。流媒体管理面板有完整的控制功能。开始、停止、调度。针对每场比赛。每个摄像机角度。
流控制确认对话框 *单击一下。只需要单击一下就能中断一场实况世界杯摄像机馈送。*
我没有碰任何这些控制按钮。但它们就在那里。功能完好。等待任何拥有NO_ROLES账户的人按下它们。
## 核选项
让我解释一下这意味着什么。
那些RTMP摄取URL是从体育场摄像机到FIFA广播分发链路的直接管道。摄像机 -> RTMP摄取 -> MediaKind -> 广播合作伙伴 -> 你的电视。
如果攻击者使用流密钥(就在URL里)向其中一个RTMP端点推送视频,他们就会**替换摄像机馈送**。PGM(节目)馈送是主要的广播输出。替换它之后,每个接收FIFA馈送的电视网络都会播放你推送的内容。
每场比赛的五个摄像机角度共享同一个流密钥。单个攻击者可以同时劫持所有摄像机。
攻击者本可以Rickroll整个FIFA世界杯。或者播放Subway Surfers游戏实况。在比赛进行期间,在全球每个电视网络上实时播放。
我没有测试这个。我没有向任何RTMP端点推送任何内容。但基础设施完全敞开。
## 但等等,还有更多
流媒体管理面板并不是唯一暴露的东西。我的NO_ROLES账户可以访问整个平台。
显示完全访问权限的FDP导航 *比赛、赛事、球队、工具、交换平台、分析仪表板、评论员信息系统、FIFA AI Pro、管理。全部可访问。*
该平台还有一个完整的实况比赛仪表板,带有嵌入式视频播放器、实时事件时间线和比赛官员数据:
带实时视频的FDP比赛概览 *科特迪瓦对阵厄瓜多尔,直播。嵌入式视频馈送、黄牌时间线、比赛官员。“LIVE”徽章不是装饰性的。*
### 高级分析(实况比赛)
显示实时控球权和射门尝试数据的高级分析 *实时控球控制、射门尝试分解、控球恢复时机、覆盖距离以及FIFA AI Pro集成*
### 比赛管理(写入权限)
这里更糟。fdp.fifa.org上的管理选项卡有写入操作。而后端从NO_ROLES账户接受了这些操作。
带有“编辑并发布”按钮的“更新实时数据”模态框 *“更新实时数据”,带有富文本编辑器、比赛时间、比赛比分字段以及一个“编辑并发布”按钮*
比赛管理按钮 *到场人数、控球率、赛后统计数据、球队注册统计、分析完成、比分和统计数据、调整开球时刻、表现数据、发送战术阵容、事件入口详情*
攻击者可以:
- 修改编辑部评论笔记并发布到广播系统
- 调整官方开球时刻
- 发送战术阵容数据
- 更改比分和比赛统计数据
这些数据会输入到评论员信息系统,并在电视直播中显示。
## 评论员信息系统
`cis.fifa.org`也可以使用NO_ROLES账户访问。这是广播评论员在实况比赛期间使用的实时仪表板。
CIS主仪表板 *2026年FIFA世界杯仪表板。实时比分、即将开始的比赛、结果。*
CIS实况比赛视图 *科特迪瓦对阵厄瓜多尔,第75分钟。完整的战术视图,显示球员位置、阵型、实时数据、换人时间线和球队数据。*
当评论员说“有趣的事实:恩纳·瓦伦西亚以36岁零222天的年龄成为厄瓜多尔队史最年长的FIFA世界杯外场球员”时——这就是这些数据的来源。我的账户可以看到为每场比赛准备的每条编辑部笔记、每条赛前数据包、每个话题要点。
## 暴露的开发环境
作为额外奖励,我还发现了一个Azure Function应用,位于`xxxxxxxxx-spreadsheets-api.azurewebsites.net`,它返回了23个FIFA内部文件的元数据和直接Azure Blob Storage下载URL。
```json
{
"Size": 10,
"Skip": 0,
"Total": 23,
"Items": [
{
"Name": "00_TransferCount_in_ENGLISH.xlsx",
"BlobPath": "https://xxxxxxxxx.blob.core.windows.net/spreadsheet-storage/00_TransferCount_in_ENGLISH.xlsx"
},
{
"Name": "0_pending_transfers_example.xlsx",
"BlobPath": "https://xxxxxxxxx.blob.core.windows.net/..."
},
{
"Name": "Debbie.xlsx",
"BlobPath": "https://xxxxxxxxx.blob.core.windows.net/..."
}
]
}
```
转会报告、收入对比、董事会层面的代表数据、裁判和教练统计数据。以及那个Debbie.xlsx是什么东西。全部零角色检查即可访问。
## 报告此事的绝对噩梦
好吧,我是在世界杯进行期间发现这一切的。比赛正在进行。RTMP URL是活动的。流密钥暴露了。而FIFA没有漏洞赏金计划,没有security.txt,也没有公开的安全联系方式。
接下来是我一生中最紧张的一夜。
### 尝试1:电子邮件
我向我能找到或猜测的每个FIFA邮箱发送了完整披露:
`[email protected]`、`[email protected]`、`[email protected]`、`[email protected]`以及一些员工邮箱。
其中五个退信了。其余的如石沉大海。没有回复。
### 尝试2:WhatsApp
我在LinkedIn上找到了Sebastian Runge(FIFA足球技术与数据主管,在该组织任职14年)。他的电话号码列了出来。我WhatsApp了他。没有回复。
### 尝试3:FIFA总部电话
拨打`+41 43 222 7777`。已关闭。苏黎世是周日晚上。
### 尝试4:FIFA媒体热线
拨打`+41 43 222 7272`。也已关闭。
### 尝试5:达拉斯会议中心
IBC(国际广播中心)位于达拉斯的凯·贝利·哈奇森会议中心。我拨打了`+1 (214) 939-2700`。转到语音信箱。留了言。
### 尝试6:MediaKind
这是一个突破。我拨打了MediaKind的免费电话`+1 833 211 8472`。有人接听了。他们立刻理解了这个问题的严重性。他们让我把详细信息和流密钥作为证据发邮件。我照做了。
### 尝试7:HBS(主办广播服务)
拨打`+41 41 726 0090`。他们表示没有人能帮忙,然后挂了电话。再打回去,无人接听。
### 尝试8:Infront Sports & Media
拨打`+41 41 723 15 15`(HBS的母公司)。无人接听。
### 尝试9:CISA
这里开始变得有趣了。我发现CISA(网络安全和基础设施安全局)是**2026年FIFA世界杯网络安全的联邦主导机构**,包括广播系统。我拨打了他们的24/7运营中心电话`+1 888 282 0870`。
他们接了。他们听了。他们让我发邮件详细说明。我照做了。
### 尝试10:FBI
由于之前的网络安全工作,我有FBI的现有联系人。我在Signal上给他们发了消息。他们回复了,表示有联系人,需要以正确的方式打包。
### 时间线
时间事件当夜发现流媒体管理面板。惊掉下巴。当夜在VLC中打开预览清单。确认是直播。立刻关闭。当夜向10+个FIFA邮箱发送披露邮件。5个退信。当夜在WhatsApp上联系Sebastian Runge。当夜拨打FIFA苏黎世电话。已关闭。拨打FIFA媒体热线。已关闭。当夜拨打达拉斯会议中心。语音信箱。当夜拨打MediaKind。**有人接听了。**发送了包含流密钥的完整报告。当夜拨打HBS。他们挂了电话。再打回去,无人接听。当夜拨打CISA 24/7热线。他们听了。发送了报告。当夜在Signal上联系FBI联系人。他们回复了。第二天漏洞被修复。FIFA没有回复。
## 根本原因
整个问题归结为一个架构错误:**客户端授权且没有服务器端强制执行**。
FIFA的内部应用程序使用Microsoft Entra进行身份验证和基于角色的访问控制。Angular/React/Vue前端检查JWT令牌中的角色声明,并相应地渲染访问拒绝页面。但后端API信任任何经过身份验证的租户成员,无论角色如何都提供数据。
攻击链:
1. 在agents.fifa.org上注册(公开)
2. 被添加到FIFA的Entra租户
3. 针对任何FIFA内部应用进行身份验证
4. 客户端显示“访问被拒绝”
5. 服务器返回“看看这里吧”
这种模式至少影响了:
- **fdp.fifa.org**(足球数据平台)
- **cis.fifa.org**(评论员信息系统)
- **xxxxxxxxx-spreadsheets-api.azurewebsites.net**(开发环境)
可能还有使用同一租户的其他系统。
## 修复
在我的报告和第二天早上之间的某个时间,漏洞被修补了。我的NO_ROLES账户返回了来自服务器的403响应,而不仅仅是客户端。
FIFA从未回复。没有确认收到报告。没有表示感谢。没有讨论补偿。什么都没有。
但他们确实让我留在了FDP邮件分发列表中。我仍然收到官方的2026年FIFA世界杯比赛文件:开球名单、战术阵容、赛后比赛报告。全部来自`[email protected]`,四种语言。
## 致FIFA
你们修复得很快。该夸还得夸。但是:
- 请设置一个security.txt文件。说真的,现在都2026年了。
- 发布一个VDP(漏洞披露政策)。你们在运营地球上最大的体育赛事。
- 客户端授权不是授权。每个实习生都知道这个道理。
- 当一个研究人员需要联系CISA和FBI才能找到你们时,说明出了大问题。
- 启动一个漏洞赏金计划。研究人员不应该为了让你们受益而必须联系FBI。
告别了,感谢所有的鱼 :3
---
*有时候还是会想起那些RTMP流密钥。在某个平行宇宙里,有数十亿人在世界杯决赛期间观看Subway Surfers游戏实况。而做到这一切只需要一张身份证。*
相似文章
世界杯骗局越来越难以识别
AI工具让世界杯骗局更难被察觉,欺诈网站、深度伪造和网络钓鱼活动正针对球迷。专家警告,2026年世界杯开赛前已有超过13,000个FIFA相关域名被注册,每41个中就有1个被识别为恶意域名。
足球迷们,你们正在被监视
2026年FIFA世界杯将大规模部署包括面部识别和反无人机系统在内的监控技术,引发了对可能被滥用于移民执法和侵犯隐私的担忧。
Reddit用户利用AI对抗世界杯天价门票
Reddit上的r/WorldCup2026Tickets版块用户将对国际足联高昂票价的挫败感转化为一场由人工智能驱动的草根运动,他们创建工具监控价格下跌,并协调抵抗黄牛和国际足联的定价策略。
俄罗斯黑客入侵路由器窃取 Microsoft Office 令牌
俄罗斯国家支持的黑客(Forest Blizzard/APT28)利用旧路由器中的已知漏洞劫持 DNS 设置,窃取 Microsoft Office 用户的 OAuth 身份验证令牌,在不部署恶意软件的情况下入侵了超过 200 个组织和 5,000 个消费设备。
本届世界杯,你可以从裁判视角看比赛
2026年世界杯将配备裁判随身摄像头实时画面,让观众从裁判的视角实时观看比赛。国际足联与Verizon和联想合作,利用专用5G技术克服了延迟和视频稳定方面的挑战。