This is How a Simple IDOR Earned Me a Max Bug Bounty Payout — Transcript
Full transcript
- 0:00here's the deal there was this
- 0:01multi-billion dollar Financial giant
- 0:03with a domain that's been chilling there
- 0:05since 2012 every hacker out there missed
- 0:08it I obviously found it messed around
- 0:09with a little bit and I saw that the
- 0:10login page that they had on there looked
- 0:12like nothing special until I dog into
- 0:14GitHub and Bam I found an API that was
- 0:16leaking a user's data but then the
- 0:18hacker one triage kicked it back and
- 0:20there was like Eh this is kind of a
- 0:21medium severity because you need to know
- 0:23the username in order to exploit this
- 0:25and that is kind of a valid point
- 0:27because if I didn't have the usernames
- 0:28it would be a lot harder to Li this data
- 0:30so I had to roll up my sleeves a little
- 0:32bit and I had to fire up the good old Ai
- 0:35and some Automation and let it rip
- 0:37through thousands of usernames until I
- 0:39figured out a pattern that leaked almost
- 0:41every user's data within this website so
- 0:43in this video I'm going to walk you
- 0:44through how I turned a medium or
- 0:46potential medium vulnerability into a
- 0:48critical one also how I snag the max
- 0:50Bounty and potentially could have leaked
- 0:51the data for a bunch of users including
- 0:53their national ID their phone number
- 0:55email their address as you name it I
- 0:57could have probably leaked within this
- 0:58API so if you want to follow along go to
- 1:00hacking up. I have a whole Lab set up
- 1:01for this you look for Ghost API launch
- 1:03it and we're going to dive right into it
- 1:05so like I mentioned earlier when we went
- 1:07to the website the main site was www.
- 1:10site. thld and it was kind of weird
- 1:13because it was just a login with a
- 1:15contact page on it and nothing else I
- 1:16ripped through the JavaScript nothing
- 1:18came up I did some Google doing nothing
- 1:19came up I also tried doing things like
- 1:21Wayback URL and way more nothing came up
- 1:23the stuff that dead came up I couldn't
- 1:25access and it was something that was not
- 1:26authorized to see it until I went to
- 1:28GitHub and put the domain into GitHub
- 1:29search and found this specific API
- 1:31endpoint which by the way if you want to
- 1:33see a whole video on how I use GitHub to
- 1:35find vulnerabilities or actually find
- 1:37endpoints to hack on and not just lead
- 1:38credentials drop me a comment saying
- 1:40GitHub and I'll make some labs and cover
- 1:42it next but when I found this endpoint
- 1:44it looked something like this and if you
- 1:46go to it right away it looks like it's
- 1:48leaking pii and the reason why this
- 1:50worked is I'm assuming J Rodriguez 75
- 1:52was actually just doing some automation
- 1:54or I don't remember what the repo was
- 1:55but they were doing something where they
- 1:57were grabbing information out of their
- 1:58own user account and they ended up
- 2:00leaking the URL and when I went to it it
- 2:02leaked all their private data so I
- 2:04reported this to hacker 1 and hacker one
- 2:05came back and was like this is a valid
- 2:07bug but it's probably medium severity
- 2:09because you need to know the user's
- 2:11username in order to leak it and that is
- 2:13a valid point because if I went into
- 2:14here and I tried things like admin it
- 2:17wouldn't work if I tried you know A
- 2:19Smith for example it didn't want to work
- 2:20B Smith all I was trying was more
- 2:23American last names and anything else
- 2:24not realizing I'm in a Hispanic region
- 2:26so I'm in South America somewhere then I
- 2:28tried doing actual integers and going
- 2:30one two three one and then going all the
- 2:32way to a thousand doing some things in
- 2:34the millions thinking maybe somehow
- 2:36they're mapped out to also an ID user ID
- 2:38or integer ID that also didn't work then
- 2:41I realized there's something really cool
- 2:42about this Dre Rodriguez username and it
- 2:45looks like it is Jay Rodriguez 75 so I
- 2:48was like okay let's try 74 76 nothing
- 2:51worked but then when I remov the ID it
- 2:54looked like Jay Rodriguez came back and
- 2:56gave me different email address and
- 2:57phone numbers and data that was a
- 2:59complete completely different username
- 3:00so that made me wonder since I can sign
- 3:02up for this website the system is
- 3:04assigning a username to each of these
- 3:06users and it's doing it base on the
- 3:08first initial and the last name and if
- 3:10the first initial plus last name is
- 3:12actually taken by somebody else then
- 3:14they're putting a number at the end
- 3:16which potentially could be the year of
- 3:18birth so if you're born in 1975 and your
- 3:20name is Jay Rodriguez it gives you this
- 3:22username so you have J Rodriguez 75 cool
- 3:26but the problem here becomes how do I
- 3:28think of all these different last names
- 3:30this is where using Ai and some
- 3:31automation became super super cool and
- 3:33helped me in a lot of different ways so
- 3:35I went to chat GPT and I said give me a
- 3:37list of the top five Hispanic last names
- 3:40for the sake of this example we're going
- 3:41to stick to five and it came back and
- 3:43gave me this list perfect we already
- 3:45know Rodriguez exists we know Martinez
- 3:47Hernandez and Lopez could be the other
- 3:48ones so we go back into here and we try
- 3:50a Hernandez and it looks like that one
- 3:53didn't want to work B Hernandez C
- 3:55Hernandez and so on but then I tried
- 3:57Lopez so I tried a Lopez and obviously
- 3:59this one comes back I see B Lopez looks
- 4:01like this one's also coming back C Lopez
- 4:03they're all coming back giving me
- 4:04different data for all these different
- 4:06users so now we need to find a way to
- 4:08leak all this user data by just
- 4:11automating it so we're going to go back
- 4:12to chat GPT and now we're going to say
- 4:14hey generate a piece of code that
- 4:15provides a list of the top 10 popular
- 4:18Hispanic last names to create a list of
- 4:19usernames that meets his criteria it's
- 4:21going to go from A to Z so 26 entries
- 4:23per last name then it's going to do the
- 4:25same thing and add the numbers from 60
- 4:26to 99 so it covers everything from 9
- 4:291960 to 1999 and then we're going to say
- 4:32hey I also want you to make a piece of
- 4:34this at the end that makes a get request
- 4:36to each of these usernames and then
- 4:37tells us which ones come back as a 200
- 4:39so we're going to copy this exploit and
- 4:40then just run it and Bam we have a bunch
- 4:43of users that are coming back we can
- 4:44copy this and go into our browser and
- 4:46see which ones come valid I only did a
- 4:48couple of these just because there is
- 4:50pii in here and I don't want to like
- 4:51access every user this is why I had to
- 4:53do this specifically because now it's
- 4:55just printing out all the usernames that
- 4:56are valid and I don't have to open it up
- 4:58I can just copy this give it to H1 Char
- 5:00and say hey it looks like this is the
- 5:01logic of the usernames and here's a list
- 5:04of all the users that I found but I did
- 5:05not access every single one of them so
- 5:07that didn't leak every user's pii this
- 5:09way so there's a couple things here that
- 5:10we need to think about is did I need AI
- 5:12to do this probably not I could probably
- 5:14code something in bash or python that
- 5:16did this I could have probably found the
- 5:17usernames by doing some Google searches
- 5:19but honestly having access to these
- 5:20models and having access to chat gp2 or
- 5:22cloud makes it super easy not only I can
- 5:24get it to make these usernames for me I
- 5:26can also just have it automate for me
- 5:28copy it and then throw it in there and
- 5:30have it just give me all the entries
- 5:31that are valid just like I showed
- 5:33earlier so that is a wrap for this one
- 5:35and honestly the craziest part about
- 5:37this is that this domain wasn't buried
- 5:39under some complex subdomain structure
- 5:41or hidden behind some obscure RoR X
- 5:43we're talking about a Brand's name plus
- 5:45some specific country TLD hiding in
- 5:48plain sight plus this program has been
- 5:50public for over 3 years with hundreds of
- 5:52hackers taking a shot at it and I just
- 5:54found this vulnerability not too long
- 5:56ago no fancy rot forcing no weird
- 5:58techniques it all just came down to
- 6:00connecting the dots between Recon GitHub
- 6:02and a bit of creative automation so the
- 6:04next time someone tells you all the good
- 6:06bugs are dried up there's no low hanging
- 6:07frood I can't find a bug in a public
- 6:09program remember this bug there are
- 6:11still critical vulnerabilities sitting
- 6:13on obvious domains that everyone is
- 6:15overlooking the Gold Rush isn't over you
- 6:17just need to look at the same targets
- 6:19with a different approach and get a bit
- 6:21of creativity in you if you got value
- 6:23from this video do me a favor hit that
- 6:24like button drop me a comment especially
- 6:26if you want to see more API hacking
- 6:28techniques and I will catch you all in
- 6:29the this video peace
- 6:35[Music]
About this transcript
This page contains the full transcript of This is How a Simple IDOR Earned Me a Max Bug Bounty Payout by NahamSec, generated from the public captions YouTube serves with the video. The transcript has 1,586 words across 208 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.