ctf.nitaimaarek.com Tracks Leaderboard Log in Sign up

Tracks / Web Cache Poisoning / The cache key is the whole game

The cache key is the whole game

6 min read

A cache sits between the user and the origin server and answers repeat requests itself. To decide whether two requests are "the same", it builds a cache key — usually the method, host and path, and maybe a query string or a header or two. Everything in the key distinguishes responses. Everything not in the key is invisible to the cache but may still change what the origin returns.

That gap is the entire attack surface. If an input is unkeyed but influential — the cache ignores it, the origin acts on it — you can send a request that the origin renders with your input baked in, and the cache will store that poisoned response and serve it to everyone who asks for that key.

The families