Simulations/HTTP Parameter Pollution

HTTP Parameter Pollution

Intermediate

A request to /api/account passes through a validator and then a backend handler. Repeat a query key and the two disagree on which value wins — the validator reads the first occurrence, the backend reads the last. Craft a duplicated parameter to smuggle a value past the check, then enable strict parsing to shut it down.

Progress:
1
Bypass the role check
2
Pollute the amount field
3
Reject duplicate parameters
⚡ Query string
GET /api/account?
🛡 Server Protection
Request log
Waiting for request…

Challenges

1
Bypass the role check
Send role=user&role=admin so the validator sees user but the backend applies admin.
hints
2
Pollute the amount field
Duplicate the amount parameter so the check runs on a small value and the charge uses another.
hints
3
Reject duplicate parameters
Enable strict parsing and confirm polluted queries are rejected with 400.
hints
How to fix HTTP Parameter Pollution
reject duplicates, single source of truth, consistent edge parsing

Frequently Asked Questions