6 ms·
I Could've Rickrolled the FIFA World Cup. All I Needed Was My ID
- BobDaHacker 4mo agoRegistered on FIFA's public Agent Platform with my ID, got added to their Microsoft Entra tenant, and found the Angular app only checked roles client-side. The backend APIs served everything: RTMP ingest URLs and stream keys for every live World Cup 2026 camera feed across all five angles. Confirmed live in VLC. An attacker could have pushed arbitrary video to the ingest endpoints and replaced broadcast feeds on TV worldwide. Write access to match stats, commentator notes, and the live score system was also exposed.
- antonvs 4mo ago> Hire me (just kidding... unless?) Would you really want to work for one of the world’s most notoriously corrupt organizations?
- BobDaHacker 4mo agoI am not much of a football gal myself, so I didn't know they were a shitty org.
- antonvs 4mo agoI don't follow football in the slightest, but these have been major media stories. See: https://en.wikipedia.org/wiki/2015_FIFA_corruption_case https://en.wikipedia.org/wiki/2015_FIFA_corruption_case Not saying "you should have heard of it", just giving info. The US DOJ investigation found over $150 million in bribes and kickbacks over two decades. This led to dozens of criminal indictments, and ongoing legal battles over the recovery of stolen funds. But maybe they've resolved that now and are a changed organization? Oh wait, this is the organization that made up a "peace prize" to give to a certain Donald Trump, to make up for the Nobel committee's completely inexplicable refusal to award their Peace Prize to the guy who started a pointless war with Iran that plunged the world into economic chaos. It'd be hilarious, if it weren't so sleazy, sad, and depressing. Long story short, if FIFA offered you a cybersecurity job tomorrow, you should do a lot of due diligence before accepting.
- swader999 4mo agoCould have made a killing off of poly market and rick rolled ftw.
- hackerdood 4mo agoGiven that they had to hand over their identity to get access, seems like a 1-way ticket to prison (assuming FIFA logs events like that, which honestly I’m not so sure about anymore).
- pjmlp 4mo agoAs someone that also wears security hat from time to time, regarding devs best practices, that is a very common failure in SPAs, client side only validation. There is always some fun showing teams how easy it is to bypass with a plain browser and developer tools window open.
- deleted 4mo ago[deleted]
- mjfisher 4mo agoHow could that possibly, ever have made it through. Every single API for every single service didn't check the JWT?
- maciekkmrk 4mo agoIt started as internal service where you need to be connected with a VPN so why bother with security.
- Ekaros 4mo agoVibe coding? Just have LLM make it and then press merge?
- himata4113 4mo agoEh, ironically this is an easy mistake to make for a human especially around how middleware is handled in express or other nodejs libraries, it's the reason why so so many of the vulnerabilities come from node based apps. Python has similar footguns as well with undefined objects failing open. Typescript has somewhat mitigated these for node, but there is no real fix for python other than skipping libraries that allow failing open.
- BobDaHacker 4mo agoYeah I see this type of crap often honestly, especially at big companies.
- holman 4mo agoReally amusing to read this one. I did something similar for Qatar 2022 and got access to roster submission (https://zachholman.com/posts/hacking-fifa https://zachholman.com/posts/hacking-fifa). To their credit they patched it pretty quickly, but their promised "token of appreciation" never came. (Although on the other hand, they didn't sue me, so I guess that's a win.)
- arecsu 4mo agoAwesome read! Congratulations on discovering this and reporting. Hope you get something back from FIFA. This could've lead to some huge disaster if it failed under the wrong hands. Love your writing skills as well! > I closed it immediately. But the damage was done (to my brain). Laughed so hard when I read this one :D
- Tepix 4mo agoIt was a cool story, no doubt. > Love your writing skills as well! I‘d say it was heavily AI assisted
- Jabrov 4mo agoHoly crap. Had to pick my jaw up off the floor. I hope you get some kind of acknowledgement or bounty for this. Kudos for having the willpower to resist sending a message to millions of people and sparking a global phenomenon!
- jansan 4mo ago> Replace that, and every TV network receiving the FIFA feed shows whatever you pushed. Holy shit, Rickrolling is among the more harmless things you could have done with that.
- patate007 4mo agoGreat article! You must be pretty confident to click the "stop streaming" button without knowing whether a confirmation modal will pop up or not
- dddddaviddddd 4mo agoI thought this too, but inspecting the HTML source could have shown that a nodal would be shown next.
- BobDaHacker 4mo agoI blocked my network traffic before clicking it cuz I've seen a lot of things without confirmation pop-ups. At least there was a confirmation pop-up.
- srmarm 4mo agoClearly a big f-up by FIFA on what looks like quite a tidy platform otherwise. One question though, how do you know your feed would kick off the 'real' feed if you pushed to RTMP, does it just take the most recent connection as live? Does the protocol have a mechanism for dealing with multiple people pushing to the same endpoint? There maybe more checking on that endpoint and if course I'm sure most live broadcasters would have a live director to cut any feeds at their end if a dodgy feed popped up too. A huge vulnerability nonetheless and a great write up!
- BobDaHacker 4mo agoGood question! So RTMP doesn't really have a clean way to handle two publishers on the same stream key. What would actually happen is the two streams fighting for the ingest endpoint, so the output would glitch between the two sources. Like if I pushed Subway Surfers gameplay it'd be flickering between the actual match and Subway Surfers with the audio cutting back and forth. You're right that a live director would catch it pretty fast but even a few seconds of that on air during a World Cup match is not great.
- aembleton 4mo agoHow do you know that you can even write to any of those fields? You didn't try it, so maybe there is a JWT role check in the backend on POST and PUT.
- BobDaHacker 4mo agoThat's a different thing. RTMP ingest endpoints aren't behind the same API layer, they're just open media endpoints that accept a connection if you have the stream key. The stream key was right there in the URL. There's no JWT involved in pushing video to an RTMP ingest, it's just connect and publish.
- albertgoeswoof 4mo agoPlease stop using AI to write for you, it ruins what is otherwise a fascinating story, and on reflection I struggle to trust it. If you used AI to generate the blog post, did you use AI to generate the screenshots and story?
- sevenzero 4mo agoI remember a frontpage post from like 2 days ago: "If you want human attention show human effort" or something in that direction. I think this fits here just right.
- gbalduzzi 4mo agoI think in this case the human effort was put into the actual discovery, honestly I don't mind if AI helped him write the blog post if the result is enjoyable and not sloppy
- AdminAccount 4mo agohttps://news.ycombinator.com/item?id=48497609 https://news.ycombinator.com/item?id=48497609
- pqs 4mo agoThese comments don't help much. AI is here, not everybody can write well, AI is gonna be used.
- jdw64 4mo agoI don't understand why people obsess over LLM(AI)format. The content is interesting, but they dismiss it just because the format is an issue. All of this content is worth reading and is good. And it's about security.
- willdr 4mo agoThe content is rendered unreadable by the LLMs sentence construction. Secondly, it's insulting. If you didn't care enough to write it, why should I care enough to read it?
- jdw64 4mo agoI saw the this post. Wasn't it a capture of something that actually happened? So it just described a real story. I can doubt the authenticity of all of it whether it's really true or not. but the content itself was interesting enough. What I don't understand is this: 'Show sincerity'—that is, a human value. If it were AI-generated, stitched-together false content, I'd understand, but I see quite a few interesting points. Whenever I see things like this, I always think of Sturgeon's law: 90% is bad, and only 10% is interesting. I get that most AI-generated content is AI slop. But even back when only humans could write, there were plenty of clickbait articles. I agree that GEN AI spam content is generally bad, and I also agree that some of it may lack effort. But honestly, I'm not sure this content is completely meaningless. Regardless of the packaging, if the content inside is interesting and valuable enough, I think that's what matters. I guess we just see things quite differently. So what I'm saying is, I don't agree with the idea that he didn't care at all.
- dawnerd 4mo agoOr even believe it. Hard to believe a story if it’s right from an llm.
- ipdashc 4mo agoIt's really annoying. Honestly I'm impressed how quickly one becomes able to smell it after seeing enough of it, I feel like a year or two ago everyone thought LLM bots would be forever indistinguishable from real users (and in fairness, the well-managed ones probably are). No hate on the author, but LLMs just have such an annoying and overdramatic way of phrasing things. The content is worth reading, I enjoyed it! It would just be even better if it hadn't been turned into such a slog to read through.
- rectang 4mo ago> Client says "access denied" > Server says "here's everything" hahahaha > Hire me (just kidding... unless?) FIFA is a legendarily awful organization. In my weaker moments reading your piece I thought to myself how nice it would have been if someone more ruthless than you had been made an example of them.
- divan 4mo agoTo be fair FIFA is one of the best international federations in terms of good governance. Dutch sport think-tank Play The Game has an assestment methodology and the project called "Sports Governance Observer" and did asses FIFA in 2018 [1] FIFA gets disproportionate amount of attention and, ofc, high-level corruption scandals, but I would say it's more like a by-product of the sheer scale of the football, and not a problem with FIFA itself. I believe most sports federations in the world are very far from FIFA in terms of governance, but also from facing problems that FIFA has. [1] https://www.playthegame.org/publications/sports-governance-observer-2018-an-assessment-of-good-governance-in-five-international-sports-federations/ https://www.playthegame.org/publications/sports-governance-o...
- deleted 4mo ago[deleted]
- patates 4mo agoYou hit the jackpot on security research, but you cannot take like an hour or two to at least get rid of the AI smell? Please do use AI, nothing against that, all I'm saying is please, please don't deliver this weirdness: > I did not touch any of these controls. But they were there. Functional. I really needed to push myself to read because it was very interesting and thank you, for doing the work and sharing.
- sairam_h 4mo agoThat was really cool! It was one of the impressive exploit i have ever read about. I really hope they give you something in return for your service, at the very least a thank you.
- curiousgal 4mo agoThis is honestly one of the only instances where I am like "you're an idiot for reporting this". The amount of reach, provided the feeds can indeed be overriden, is absolutely insane. Paired with how shitty of an org FIFA is, I personally would have just leaked this.
- BobDaHacker 4mo agoAs much as I like being butt fucked, I dont wanna go to prison :3
- BobDaHacker 4mo agoAlso, I am not much of a football gal myself, so I didn't know they were a shitty org.
- thrdbndndn 4mo agoThis happens more often than you would think. During COVID, lots of live shows (concerts, etc.) in Japan moved to streaming (and most of them stuck, so thanks to that, lots of large concerts today have real-time streaming, which is great for foreign fans). Out of 10+ platforms, more than half have vulnerabilities that allow you to access the content freely (sometimes including the rehearsals, because they are also streamed internally), and on a handful, you can access the admin panel and, as the author said, stream whatever you want. Most of them have been patched over the years (some are just the byproduct of them changing the backend/SaaS provider, though), but there remain some major providers where you can get content for free.
- rvz 4mo ago> FIFA never responded. Not to acknowledge the report. Not to say thank you. Not to discuss compensation. Nothing. If this is true, why help them if they do not take their own security seriously, especially if they have vibe-coded their auth backend server?
- deleted 4mo ago[deleted]
- anthonyeden 4mo agoDo you know these feeds actually go to broadcasters? They could be internal feeds for refs, match review, head office monitoring, etc. The broadcast contribution feeds I’ve seen in the past are MPEG-TS, not via RTMP. Still a great find.
- srfwx 4mo agoyou're right, it's not the international signals, but internal distribution only
- tagyro 4mo agoI'll write a full article in a year or two, but here's the short version: some weeks ago, as I was looking for job offers, I found one that was interesting. As I didn't knew the company, I wanted to do my due diligence and check them out. I open the website and find a ClickFix (the "prove you're not a bot" type) attack on their main page. I spent over 2 hours and a small (but bigger than 0) amount of my own money to report the issue by emailing and even trying to call them (they didn't have any dedicated responsible disclosure page or contact). After some time, they finally answered my emails, took down the website and "fixed" the issue. When I finally applied for the role, got ghosted for a week and only after I wrote them again, asking for an update, I got rejected as they allegedly were looking for someone more junior - though the job title was explicitly "Senior XXX Lead". Some years ago, I went to interview (in person) at a big European financial institution. As I got there around lunchtime, I happened to get to the front door at the same time as some employees were returning from lunch who, very kindly, held the door open for me. I was in their office around their computers, unsupervised and unaccompanied, for 10-15 minutes, enough time to plant some O.MG USB-C cables. During the interview, I had a chance to talk to the CTO and told them what happened and how I was allowed access in the office, and immediately saw his face change and quickly change topic, and end the interview. Unsurprisingly, I didn't get the job - I should have probably kept my mouth shut.
- assixx 4mo ago[dead]
- rohitsriram 4mo ago[flagged]
- jadecarter68 4mo ago[dead]
- dzonga 4mo agoJWTs strike again. encrypted cookies still work & they're stateless. & yeah you can pass cookies between servers & also server - S.P.A. to BoBDaHacker - great research but slow down on the a.i writing.
- aembleton 4mo agoIf the backend doesn't check the credentials then it doesn't matter if its JWT or encrypted cookies or anything else.
- alper 4mo ago> They understood the issue immediately. I'm guessing this is not the first time this happened to them.
- josefritzishere 4mo agoIf you can Rickroll, you should.
- c0d3r__ 4mo ago"If you can go to jail, you should."
- misiek08 3mo agoRight before contacting FBI I would start Subway Surfers stream. Fuc** Driven Development it still the only way for big orgs, this is the only way as we can see...