This wasn’t a bounty program. This wasn’t a targeted red team op. This was one of those unexpected moments where curiosity met persistence — and a bit of stealer intel magic. One of my client sent me a random website asking if I could access its admin panel. The site was a standard LAMP stack setup — Linux, Apache, MySQL, PHP. I said yes. Because PHP + parameters = a playground for exploitation.
Initial Recon
The site (let’s call it target.com) was basic — a blogging platform with:
I started with the usual SQLi recon — both GET and POST parameter fuzzing. Spent nearly 2 days testing every form, filter, and input box.
Result?
Absolutely nothing exploitable. Not even a blind Boolean response.
File Upload Attempt
I moved on to the file upload endpoint. I managed to upload a PHP shell, but couldn’t locate its path. Turns out:
No disclosure, no enumeration success… yet.
Fuzzing Hidden Endpoints
Next, I fired up FFUF with aggressive fuzzing:
FFUF Output Snippet:
admin [Status: 301] upload [Status: 301] api [Status: 301] vendor [Status: 301] assets [Status: 301] inc [Status: 301]
Still… nothing juicy.
I even tried SQLi on the /admin/login form — no luck.
Shift in Mindset: Thinking Like a Dev
I was hitting dead ends everywhere. So I switched hats — from hacker to developer. Here’s what changed the game:
On the signup form, the site had a real-time username availability check via API.
That meant I could enumerate valid usernames using this logic:
If a username already exists → API throws "Username already taken"
I brute-tested typical admin usernames:
admin, administrator, admin123, moderator, staff — all unique.
Nothing worked… until I checked the HTML source code.
Breadcrumb in the Source Code
In the HTML head:
<meta name="author" content="XYZCORPORATIONTECH">
Interesting. A web dev company.
I Googled them. Turns out they’re an agency building sites for multiple clients.
I retried enumeration with these usernames:
💥 Bingo. xyzcorp was already registered.
Stealer Intelligence for the Win
Time to get creative. I searched leaked stealer logs using their corporate domain to find commonly used passwords.
Found 19 leaked credentials tied to their devs. Most common password?
→ qwer1234 (used in 6 different sites)
I tried:
Username: xyzcorp Password: qwer1234
Logged in as admin.
Access to:
Final Outcome
I immediately reported the issue to my client. They patched the vulnerability within hours.
💰 Reward received: $1400 for this intuitive admin takeover.
Lessons & Takeaways