๐ฏ The Target (Redacted ๐)
So I found this "secure" portal handling:
- KYC ๐
- Passports ๐
- Compliance data ๐
And of course, it had:
๐ Email login ๐ MFA
So naturally I said:
"Yeahโฆ I'm not getting in."
5 minutes later: "I'm definitely getting in." ๐ญ
๐ง Phase 1: OSINT โ LinkedIn is the Real Hacker Tool
I needed a valid user.
So I did elite-level reconnaissance:
๐ Open LinkedIn ๐ Find employee ๐ Guess email
That's it.
OSINT tools? Yes. Brain? Optional.
๐ Phase 2: View Source โ Because Curiosity Killsโฆ Security
Opened login page โ View Source
Nothing interesting.
But then I remembered:
๐ "This is Next.jsโฆ there HAS to be chunk files."
So I grabbed a JS file and ran:
grep -oEi '"/[a-z0-9/_-]{3,}"'And suddenlyโฆ
๐ฅ Main character moment
/api/setup-mfa
/api/complete-mfa-setupMe: "Why are these publicโฆ?" Also me: "Don't ask questions. Exploit." ๐
๐จ Phase 3: The "No Way This Works" Request
I sent:
POST /api/setup-mfa
{
"email": "target@company.com"
}Response:
- Secret โ
- QR Code โ
- Happiness โ (because this should NOT happen)
At this point I knewโฆ This wasn't a bug. This was a lifestyle choice by the backend.
๐งช Phase 4: QR Code = Unauthorized Life Access
Converted base64 โ QR โ scanned it.
Now my phone was generating OTPs for someone else's account.
Microsoft Authenticator: "Welcome ๐R" Me: quot;I don't even belong hereโฆ" ๐
๐ญ Phase 5: Reality Check (It Didn't Work)
Tried logging in.
โ Failed.
And I was like:
"Okayโฆ security team did SOMETHING at least."
Almost gave up.
Closed terminal.
Opened Instagram,Started scolling.
Thenโฆ
โก Phase 6: Hacker Instinct Kicks In
Brain:
"You found TWO endpointsโฆ don't be lazy."
Right.
/api/complete-mfa-setupEndpoint name: complete-mfa-setup Me: "Oh so you WANT me to finish it?" ๐
๐ง Phase 7: Final Boss Fight
From JS clues:
secretverificationCode
So I sent:
POST /api/complete-mfa-setup
{
"email": "target@company.com",
"secret": "<secret>",
"verificationCode": "<OTP from my phone>"
}๐ฅ BOOM.
"MFA setup completed successfully"Me staring at screen: "This is why we can't have nice things." ๐ญ
๐ Phase 8: The "Waitโฆ I'm Actually In" Scene
Login again:
- Email โ
- OTP (mine ๐) โ
Andโฆ
๐ช ACCESS GRANTED
๐ What I Found Inside
- Passports ๐
- KYC docs ๐
- Compliance data ๐
Basically:
๐ "Congratulations, you've unlocked GDPR violation DLC." ๐ฎ
๐ Attack Flow (Visual)

โ ๏ธ Why This Is INSANE
This is basically:
- โ MFA without authentication
- โ Identity not verified
- โ Backend trusting anyone
- โ Complete auth bypass
All you need:
๐ Email address
That's it.
๐งฏ Responsible Disclosure
Before anyone panics:
- No data touched โ
- No data downloaded โ
- Reported responsibly โ
Ethical hacker mode: ON Chaos mode: OFF
๐ง Developer Takeaways
If you're building auth systems:
- ๐ NEVER allow MFA setup without login
- ๐ Always bind actions to session
- ๐ Validate user identity server-side
- ๐ Stop trusting frontend like it's your best friend
๐ฌ Final Thoughts
Time taken:
โฑ๏ธ ~10 minutes ๐ง 1 brain cell ๐ง 1 email
Impact:
๐ Total account takeover
MFA is supposed to STOP attackersโฆ not onboard them.
"At this point, the only factor in Multi-Factor Authenticationโฆ was me."