🔥H4ck1ng the Same App for a Month -> $$$$
Critical IDOR & PrivEscs.
Hello, friend! This is mrhashimamin. And I’m back today with a new write-up for you, ma amigo <3.
So, let’s get to it. Today’s story is about some good bugs I found last month while hacking the same app. Let’s call it msg-app.com—a cloud-based communication platform with APIs/SDKs for real-time chat, voice, and video in apps.
My main target was dashboard.msg-app.com. The usual dashboard for controlling user roles, permissions, and tons of other juicy settings perfect for manual testing.
#0 New Target? Let's Hack It - 20 Feb
First 3-5 days on a new app? I just learn everything about it:
Read the docs - see what the app does
Watch videos - understand why people use it
Check forums - find real user problems (easy bug ideas!)
Use the app - with
Burprunning in backgroundStart anywhere - no strict plan, just explore
Okay, let's find some bugs!
#1 PrivEsc - P4 ($$$) - 24 Feb
I focused on the channels feature, specifically the report function. Owners can add custom report types for users to flag messages. The free plan has limits:
6 custom types + 4 system types
Or 10 custom types + 0 system types
I added 10 custom types, then sent a request to enable the system types. The backend didn’t enforce the limit, so it worked. Free plan users got extra report types they shouldn’t have.


#2 PrivEsc - P3 - $$$ - 3 Mar
The same report function had another PrivEsc flaw. Not all users should be able to report messages, right?
Steps:
Created a
custom rolewithonly view + chatpermissions inchannelsThis role
couldn’t report messages(as intended)Sent
API requests toreportmessages/users/channels→ 200 OK

Thought I’d get 3 bounties for each report, but they got me xD, Turns out it was one root cause, not separate bugs.

#3 IDOR - P1 - $$$$ - 14 Mar
Time to play with the docs! After reading a lot of them, I found a hidden premium feature - message translation. It wasn't in the UI since it's paid-only.
First thought: "If I use this as a free user, maybe P4/P3 at best." But surprise - it was way worse!
The Bug:
The request took a message ID, translated it, and leaked:
The
MessageSender
PII
Tested for IDOR... and it worked perfectly.

Bugcrowd Drama (I hope this happens so much xD):
Me: Reported as
P3(Based onBugcrowd VRT)Triager: Upgraded to
P2Customer: "Nah, this is
P1" xD

Sure, I got a lot of duplicates, infos, and N/As—but that’s bug bounty, you know xD
That's the story for today. I hope you find this write-up useful. Thanks, and keep hacking 3>
Last updated