Easy P1: Unlocking Pro & Enterprise Features via Developer Tools (Inspect) due to insufficient server-side validation

0d_samii
3 min readOct 17, 2024

--

In the name of Allah, the Most Beneficent, the Most Merciful

.بِسْم اللَّه الرَّحْمن الرَّحِيم . . اللَّهمَّ صَلِّ وَسلَّم وبارك على نَبِينَا مُحمَّد
Hello Hunters ,
I had the pleasure of collaborating with karemelsqary on a private bug bounty program on HackerOne.
Together, we uncovered an Improper Access Control Due to Missing Backend Validation.

Let’s start the story!

Summary:

During our exploration of a SaaS platform, we discovered a vulnerability that allowed us to unlock premium (Pro/Enterprise) features without the need for a subscription. This was achievable by manipulating HTML elements on the client side using basic browser Developer Tools. The root cause of the issue was a critical lack of backend validation, which enabled any user to bypass feature restrictions and access functionalities meant for paying customers.

The Discovery:

Our exploration of the SaaS platform began with a routine login using a “basic user account that lacked access to any premium features”.

The goal was to assess how well the platform protected its Pro and Enterprise-level functionalities.

While navigating the platform, we noticed that the user interface used HTML attributes such as disabled and data-feature="locked" for certain buttons and features. This piqued our curiosity—were these restrictions just visual cues, or was there a real check in place to prevent users from accessing the premium features?

Exploiting the Flaw:

We decided to test the limits of the client-side control on the SaaS platform. Using the “Inspect” tool, we removed the disabled attribute from a button that was meant to restrict access to Pro features. The HTML updated instantly—no server call, no complex authentication. It was a simple manipulation of the front-end code.

With the button enabled, we clicked on it, expecting some kind of server-side validation or restriction. However, to our surprise, the feature activated without any issues, granting access to a Pro feature that should have been restricted to paid users. It was surprisingly easy.

This wasn’t a one-off occurrence. After further testing, we discovered that this manipulation worked on several other premium features, with none of them being protected by backend validation. Every time we triggered a feature we weren’t entitled to, the backend seemed to blindly trust the client-side changes, exposing a major security flaw and attack surface.

The Root Cause:

As we delved deeper into the application’s logic, it became clear what was happening: the backend lacked real validation to determine whether a user was authorized to access the premium features. The application relied entirely on the front end for access control, assuming that no one would tamper with the HTML. However, we proved that this assumption was false.

This missing backend validation was at the core of the vulnerability. The server blindly accepted requests from the manipulated client side, trusting that the user interface would prevent unauthorized access. In reality, this oversight posed a significant security risk.

Conclusion:

This vulnerability showcases the critical importance of validating user privileges at the backend and highlights how reliance on front-end security controls can lead to severe business logic flaws. Regular audits of both client-side and server-side logic should be conducted to ensure that feature entitlements are properly enforced.

All I can say is that Alhamdulillah.

So, that’s it for today. I hope you enjoyed reading this blog. Let’s meet in the next post. Happy hunting :)

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

0d_samii
0d_samii

Written by 0d_samii

Hey there! Let me introduce myself , my name is khalid samy, and I'm a CyberSecurity enthusiast. Interested in bug bounty hunting and penetration testing ..

Responses (1)

Write a response