HARD tier

36 challenges + two flagship SaaS chains (Nimbus, Vault), spanning injection, auth confusion, access control, SSRF (incl. blind/OOB), request-smuggling, logic, race conditions, crypto, client-side, and AI — calibrated to actually resist one-shot scanners. Captured a FLAG{…}? → submit it on the 🚩 scoreboard.

Nimbus — flagship SaaS chain chain

A realistic multi-tenant SaaS. Register, then chain IDOR → SQL injection → SSRF → account takeover — no single bug reaches the flag; each one leaks the clue for the next.

/nimbus/ · /api/nimbus/*

real login/session · real SQLi on a sandboxed DB · one FLAG at the end of the path

Vault — flagship SaaS chain chain

A secrets-manager SaaS. Register, then chain NoSQL injection → forge an admin JWT → blind SSRF (out-of-band) → deploy takeover — distinct primitives from Nimbus; the blind stage exfiltrates its clue to your collaborator log.

/vault/ · /api/vault/*

real member JWT · Mongo-style operator injection · blind SSRF → OOB beacon · one FLAG at the end

H1 · JWT alg confusion hard

RS256→HS256: sign an admin token with the exposed public key as the HMAC secret.

/api/hard/jwt-confusion · /.well-known/hard-jwks.json

tool: browser_cdp_jwt_analyze

H2 · Blind boolean/time SQLi hard

No errors — extract the admin secret char-by-char, then unlock.

/api/hard/report?id=

tool: browser_cdp_sqli_probe

H3 · Blind SSRF → internal expert

Confirm SSRF out-of-band via an OAST hit, then pivot to an internal endpoint.

/api/hard/preview?url= · /api/hard/oast/<token>

tool: browser_oast_* + browser_cdp_ssrf_probe

H4 · Race / TOCTOU hard

Double-redeem a single-use code via a check-then-act window.

/api/hard/redeem?code=GOLD100

tool: browser_cdp_race_condition_test

H5 · OAuth redirect_uri bypass hard

Defeat the prefix allowlist to leak the auth code off-origin.

/api/hard/oauth-authorize

tool: browser_oauth_redirect_uri_attack

H6 · XSS behind a WAF blocklist hard

Bypass the script/onerror/onload/alert filter and exfiltrate the bot's cookie.

/hard/waf-xss/ · /api/hard/greet?name=

tool: browser_cdp_xss_payload_inject

H7 · Server-side prototype pollution expert

Pollute __proto__.isAdmin to bypass an authz check.

/api/hard/account (POST JSON)

tool: browser_cdp_prototype_pollution_scan

H8 · GraphQL field-authz bypass hard

Alias/batch/nest around the own-id check to read admin's secret field.

/api/hard/graphql (POST)

tool: browser_cdp_graphql_scan

H9 · Reset host-header poisoning hard

Poison the reset link host to capture the victim's token → ATO.

/api/hard/reset (POST)

tool: browser_cdp_header_injection

H10 · Business-logic price tamper medium+

Buy the enterprise SKU for a total ≤ 0 via client-supplied price / negative qty.

/api/hard/checkout (POST)

tool: browser_cdp_boundary_value_test

H11 · Second-order stored SSTI expert

Store a template payload in your profile that detonates when rendered later.

/api/hard/profile → /api/hard/render

tool: browser_cdp_ssti_probe

H12 · CSP bypass via JSONP gadget expert

Defeat script-src 'self' using a same-origin JSONP callback.

/hard/csp/ · /api/hard/jsonp?callback=

tool: browser_cdp_csp_bypass_probe

H13 · JWT jku header injection expert

Point the token's key source at a key you control.

/api/hard/jku

tool: browser_cdp_jwt_analyze

H14 · Weak JWT HMAC secret hard

Crack the signing secret offline, then forge admin.

/api/hard/session

tool: browser_cdp_jwt_analyze

H15 · OAuth PKCE downgrade hard

Strip PKCE so the code exchange skips verification.

/api/hard/pkce

tool: browser_oauth_pkce_bypass

H16 · SAML signature stripping expert

Get an admin assertion accepted without a valid signature.

/api/hard/saml

class: XSW / sig-strip

H17 · Path-normalization authz bypass hard

Reach the blocked admin resource through encoding/normalization.

/api/hard/admin-panel?resource=

tool: browser_cdp_path_scan

H18 · HTTP method-override privesc medium+

Perform a blocked destructive action via a method override.

/api/hard/account-delete

class: verb tampering

H19 · Mass assignment role escalation hard

Smuggle a privileged field past the update filter.

/api/hard/profile-update

class: over-posting

H20 · GraphQL hidden mutation hard

Find and call an unauthorized mutation.

/api/hard/gql-mutation

tool: browser_cdp_graphql_scan

H21 · SSRF via redirect-follow expert

Slip past the fetch allowlist by bouncing through it.

/api/hard/img-proxy?url=

tool: browser_cdp_ssrf_probe

H22 · SSRF gopher scheme bypass hard

Reach internal Redis when http is filtered.

/api/hard/fetch2?url=

tool: browser_cdp_ssrf_probe

H23 · Web cache poisoning hard

Poison a cached response through an unkeyed header.

/api/hard/vanity

tool: browser_cdp_headers_analyze

H24 · HTTP parameter pollution medium+

Pass auth as one value while acting as another.

/api/hard/hpp?role=

tool: browser_cdp_fuzz_parameter

H25 · postMessage origin bypass hard

Defeat a startsWith origin check.

/api/hard/pm-oracle?origin=

tool: browser_cdp_postmessage_hijack

H26 · Prototype-pollution gadget expert

Pollute a default that a downstream sink renders.

/api/hard/config-merge

tool: browser_cdp_prototype_pollution_scan

H27 · CSP strict-dynamic bypass expert

Run script under a nonce + strict-dynamic policy.

/hard/csp2/ · /api/hard/jsonp2?callback=

tool: browser_cdp_csp_bypass_probe

H28 · Cross-site WebSocket hijack hard

Authorize a socket from a foreign origin.

/api/hard/ws-auth

tool: browser_cdp_ws_capture_enable

H29 · Coupon replay / stacking medium+

Reapply a discount until it exceeds 100%.

/api/hard/coupon

class: idempotency

H30 · Integer-overflow price wrap hard

Overflow the subtotal so the charge goes negative.

/api/hard/qty-overflow

tool: browser_cdp_boundary_value_test

H31 · Workflow state skip hard

Complete an order without paying.

/api/hard/checkout-flow?step=

class: state machine

H32 · Currency rounding abuse hard

Get the item while the charge rounds to zero.

/api/hard/currency

class: rounding

H33 · LLM indirect injection expert

Bypass the keyword guard to plant a hidden instruction.

/api/hard/ai-doc

class: prompt injection

H34 · LLM tool-calling abuse expert

Coax the agent into calling an internal tool.

/api/hard/ai-agent

class: agent abuse

H35 · GraphQL field-suggestion leak hard

Recover a hidden field with introspection disabled.

/api/hard/gql-suggest

tool: browser_cdp_graphql_scan

H36 · API debug-param data exposure medium+

Flip on debug output to leak internals.

/api/hard/report-api

tool: browser_cdp_error_message_extract