Hunting HTTP Parameter Pollution

Hunt HTTP parameter pollution, where the same parameter name appears more than once, or a parameter is shaped as an array, and two components in the request path disagree on how to resolve it. A validator, a gateway, or a filter reads one occurrence while the backend sink reads another, so a value that passes a check is not the value that is used, and a control is bypassed, an authorization decision is confused, or a payload is smuggled past a filter. First-versus-last-wins differentials, array-versus-scalar coercion, and a gateway that concatenates duplicates while the app splits them are the usual mechanisms. The bug exists only when two parsers differ, so proving the differential is the whole task. Use when duplicate or array-shaped parameters cross more than one parser. The duplicated parameter is the source, the sink that resolves it differently from an earlier check is the sink, and the parser disagreement is the bug.

UnboundCompute c45fcb7 9.8 KB Updated

File contents

UnboundCompute/security-agent-skills/tree/main/skills/hunting-http-parameter-pollution commit c45fcb7ebf

Frequently asked questions

npx skillmds@latest add unboundcompute/hunting-http-parameter-pollution