Post 9: Business Logic Attacks

Breaking the Rules That Developers Never Thought You’d Try

Business logic attacks exploit the intended behavior of an application in ways that developers didn’t anticipate. These aren’t technical misconfigurations like SQLi or XSS — they’re workflow flaws, authorization gaps, or assumptions gone wrong.

  1. What Are Business Logic Vulnerabilities?
  2. Signs of Logic Flaws
  3. Common Attack Patterns
  4. Examples of Real-World Business Logic Bugs
  5. How to Test for Logic Issues
  6. Tools and Methodology
  7. Practice Labs

Business logic is the rules and workflows that define how an application behaves — things like:

  • Who is allowed to do what
  • In what order actions must happen
  • What actions are allowed under certain conditions

When those rules can be bypassed or misused due to missing validation or poor assumptions, that’s a business logic vulnerability.

Watch out for:

  • Price manipulation in e-commerce platforms
  • Privilege escalation through hidden roles or parameters
  • Unvalidated user actions (e.g., canceling a shipped order)
  • Skipping steps in multi-step processes (e.g., payment → access)
  • Over-reliance on client-side enforcement
  • Insecure redirects, discounts, or reward systems

If a discount or role change is only enforced in JavaScript, it can be bypassed:

<script>document.getElementById('price').value = 0;</script>

Then intercept the request in Burp and send the discounted value directly to the server.

Regular user accesses an admin page directly:

http://target.com/admin/delete_user.php?id=12

Even if there’s no visible “Admin Panel” button, the endpoint exists. Try accessing it directly, changing user IDs, or manipulating the role parameter.

Check requests during checkout:

POST /checkout
item_id=123&price=1.00

Change price=1.00 to 0.01. If the server doesn’t validate the price, you just made a big sale.

Multi-step flows like password reset or checkout can be vulnerable:

  1. Password reset token sent to email
  2. Verify token
  3. Set new password

What if you skip step 2 and go straight to 3? Or change another user’s token in the URL?

Some logic flaws let you apply the same code multiple times:

POST /apply_coupon
code=FREE100

Try resending it or changing quantity in the request.4. Examples of Real-World Business Logic Bugs

Attack VectorOutcome
Modify account numberAccess another user’s data
Skip payment confirmationAccess premium features for free
Cancel shipped orderReceive refund and product
Modify role parameterBecome admin or editor
Abuse bulk discountBuy single item at bulk price
  • Map out workflows manually: checkout, registration, password reset
  • Test each step out of order or multiple times
  • Try changing user ID numbers in requests
  • Look for hidden fields: role, amount, is_admin
  • Try using multiple sessions (one logged in as user A, one as B)
  • Look at what happens when you cancel, resubmit, skip, or reuse

Always use Burp Repeater or Proxy to replay and modify these requests outside the UI.

You won’t find logic flaws with scanners. You need to:

  • Think like a malicious user
  • Abuse the app’s intended flow
  • Ask “what if I…?” at every step
  • Use Proxy to watch workflows
  • Use Repeater to tamper with logic and replay requests
  • Use Intruder to fuzz roles, coupon codes, IDs
  • Postman for replaying authenticated API flows
  • Autorize (Burp plugin) for testing IDOR and access control issues
  • PortSwigger: Logic flaw labs (free and excellent)
  • TryHackMe: OWASP Business Logic Room
  • HackTheBox: Web challenges and boxes with logic bugs
  • bWAPP: Business logic and IDOR modules
TestDescription
Tamper hidden fieldsTry role=admin, price=0
Skip stepsJump to final step in workflow
Replay requestsTry coupons, refunds, tokens again
Modify user IDsAccess or delete others’ data
Reorder processCancel after confirmation

Post 10: Burp Suite for Web Pentesters
We’ll go deep into:

  • Proxy, Repeater, Intruder, Decoder, Comparer
  • Full workflow from recon to exploitation
  • Burp extensions to supercharge your hacking

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top