🔥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
Burp
running 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 role
withonly view + chat
permissions inchannels
This role
couldn’t report messages
(as intended)Sent
API requests to
reportmessages/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
Message
Sender
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
P2
Customer: "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