← Back to Writeups
PORTSWIGGERN/ABusiness logic vulnerabilities

Inconsistent security controls

XESXOR9/2/20262 min read
#business logic vulnerabilities#portswigger#web-security-academy#business-logic-vulnerabilities

Inconsistent security controls

Platform: PortSwigger | Category: Business logic vulnerabilities | Type: Lab | Difficulty: N/A | OS: N/A | Author: XESXOR | Date: 2026-08-24 | Status: Solved Techniques: Web Security Academy, Business logic vulnerabilities

Summary

Walkthrough of the PortSwigger Web Security Academy lab Inconsistent security controls (Business logic vulnerabilities). This lab demonstrates a business logic vulnerabilities vulnerability and its exploitation to achieve the lab objectives.

Lab Overview

PortSwigger Web Security Academy — Business logic vulnerabilities

This writeup is part of the XESXOR PortSwigger collection. The original lab description and solution have been preserved and reformatted for clarity.

Lab Descriprtion :

image

Overview :

Applications may appear to be secure because they implement seemingly robust measures to enforce the business rules. Unfortunately, some applications make the mistake of assuming that, having passed these strict controls initially, the user and their data can be trusted indefinitely. This can result in relatively lax enforcement of the same controls from that point on.

If business rules and security measures are not applied consistently throughout the application, this can lead to potentially dangerous loopholes that may be exploited by an attacker.

Solution :

The admin panel is at /admin.

It is only available to users logged in with @dontwannacry.com.

image

Create a test account using the provided email & verify the registration by clicking on the link sent to our inbox.

Once loggedin , we are presented with this page, where we can update our email-id.

Thinking from an attacker's perspective, we can understand that the the site checks whether we are an employee of that company or not by either checking the email-id or some form of cookie or special parameters like ?isdontwanacry=true.

On analysing the requests which is been sent, we don't see any suspicious paramters . So it is definitly checking the email-d.

Since we have an option to update our email, why not change it from attacker@exploit-0a4c008d03485779833ef97d01750004.exploit-server.net to attacker@dontwannacry.com?

image

Now we are able to view the /admin page.

image

Delete the user carlos to solve the lab.

image

Key Takeaways / Lessons

  • Understanding Business logic vulnerabilities detection and exploitation is crucial for web security.
  • Always validate and sanitize user input; implement proper access controls.
  • This lab is part of the PortSwigger Web Security Academy — practice in a safe, legal environment.

Crafted by XESXOR Research • 2026-08-24 • PortSwigger Web Security Academy • Lab: Inconsistent security controls