One of the most common mistakes we encounter is trusting the client-side to enforce business logic.
In this engagement, we identified that the application trusted sensitive API responses for test progression. By modifying the response, we were able to bypass assessment requirements, effectively granting ourselves unauthorized progression and access to gated features.
During login, the application called:
GET /api/auth/me
{
"isPythonTestCompleted": false,
...
}
This flag directly controlled whether the user had completed the required Python Test.
Using Burp Suite, we intercepted and modified the response:
"isPythonTestCompleted": true
The application UI immediately reflected the test as completed, unlocking gated learning modules and progression steps.