MODE A — SYNTHETIC LAB
0 / 4 SOLVED

Security Arena — Web & API Lab

Test your security instincts in a safe, controlled training environment. Inspect raw HTTP request and response structures, detect authorization defects and header anomalies, and validate your findings.

Challenge Catalog
All
Web
API
API
Beginner
Broken Object Level Authorization (BOLA) in Order Receipt API
API
Intermediate
JWT Algorithm "none" Signature Bypass
Web
Intermediate
Rate Limiting Bypass via Spoofed X-Forwarded-For Header
API
Advanced
Mass Assignment Flaw in User Account Profile Update
SAFETY ARCHITECTURE NOTE:Mode A executes entirely on pre-captured synthetic transactions. The website does NOT expose live vulnerable endpoints or dangerous containers. All evaluations happen in constant time server-side.

Broken Object Level Authorization (BOLA) in Order Receipt API

Category: Authorization
Difficulty: Beginner

You are auditing an e-commerce API. An authenticated customer (Account ID: 501) requests their receipt via GET /api/v1/orders/10482. Notice the sequential order ID in the URL path and the customer ID returned in the JSON payload.

OBJECTIVE:

Examine the request and response below. Determine why an attacker with valid credentials can access other customers orders. What is the authorization flaw called in the OWASP API Top 10?

ANALYSIS HINT:

Look at how the resource ID (10482) is passed directly in the URL path without any contextual authorization check linking it to the authenticated session bearer token.

SYNTHETIC HTTP REQUEST
GET
GET /api/v1/orders/10482/receipt HTTP/1.1Host: api.retail-store.exampleAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJjdXN0XzUwMSIsInJvbGUiOiJ1c2VyIn0.test_sigAccept: application/jsonUser-Agent: Mozilla/5.0 (Security-Audit)
SYNTHETIC HTTP RESPONSE
200 OK
HTTP/1.1 200 OKContent-Type: application/jsonX-Service-Node: order-srv-04
RESPONSE JSON BODY:
{
  "order_id": 10482,
  "customer_id": "cust_501",
  "total_cents": 14950,
  "shipping_address": "742 Evergreen Terrace, Springfield",
  "payment_method": "VISA ending in 4012",
  "item_count": 3,
  "download_token": "FEKO{bola_order_id_sequential_leak}"
}
Flag Submission Console

Identify the security finding token embedded in the response or synthesize the flag: FEKO{...}