Envenenamento de cache e proteção da camada de cache
Aprenda como funcionam os ataques de envenenamento e engano de cache e como reforçar sua camada de cache contra eles usando um tratamento cuidadoso de chaves e cabeçalhos.
Envenenamento de cache e proteção da camada de cache é uma aula grátis de Caching Strategies: Redis + CDN + Edge Computing no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Caching Strategies: Redis + CDN + Edge Computing, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Caching Strategies: Redis + CDN + Edge Computing inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
What Is Cache Poisoning?
Web cache poisoning tricks a cache into storing a malicious response that is then served to other users. The attacker manipulates an input that influences the response but is not part of the cache key.
- Attacker sends a crafted request
- Origin reflects attacker input into the response
- Cache stores it and serves it to everyone
Unkeyed Inputs Are the Risk
The root cause is an unkeyed input: a header or parameter that changes the response but is excluded from the cache key. If an attacker controls it, they poison the shared entry.
Example: Poisoning via a Custom Header
Imagine the origin reflects X-Forwarded-Host into a generated URL but the cache ignores that header. An attacker sets it to their domain, and the cached page now points everyone at attacker resources.
GET / HTTP/1.1
Host: example.com
X-Forwarded-Host: evil.comCache Key Hygiene
The primary defense is to include every input that affects the response in the cache key, or to strip dangerous headers before caching. Never reflect untrusted headers into cached output.
Cache Deception
Cache deception tricks the cache into storing private data under a public-looking URL. An attacker appends a fake static extension so the cache treats a sensitive page as a cacheable asset.
https://app.com/account/info.css (still serves the private account page)Defending Against Deception
Defend by caching based on the actual Content-Type and explicit rules, not just the URL extension. Never cache responses marked private or that set authenticated cookies.
Stripping Risky Headers
Configure the edge to drop headers an attacker should not control before they reach the origin or cache, such as forwarded-host style headers unless explicitly trusted.
proxy_set_header X-Forwarded-Host "";Sanitizing Reflected Values
If the origin must echo a value, validate and encode it. Never build cacheable URLs or scripts directly from request headers without strict allow-lists.
Separating Authenticated Traffic
Authenticated responses should generally bypass shared caches. Route logged-in requests around the public cache, or mark them private, no-store so they are never shared.
Cache-Control: private, no-storeMonitoring for Poisoning
Watch for anomalies: sudden cache entries with unexpected hosts, spikes in 4xx after a deploy, or reports of users seeing foreign content. Detection lets you purge fast.
Hardening Checklist
Protect the cache layer by:
- Keying on every response-affecting input
- Stripping untrusted forwarding headers
- Caching by content type, not URL extension
- Never caching private or authenticated responses
- Encoding any reflected request values
Quick Check
Test your cache security understanding.
Recap
You learned how cache poisoning and cache deception attacks exploit unkeyed inputs and URL-based caching. You saw defenses: rigorous cache-key hygiene, stripping untrusted headers, caching by content type, never sharing authenticated responses, and monitoring for anomalies.
Aprenda Caching Strategies: Redis + CDN + Edge Computing com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 12
- Aulas
- 48
Perguntas Frequentes
A aula “Envenenamento de cache e proteção da camada de cache” é grátis?
Sim — o texto completo de “Envenenamento de cache e proteção da camada de cache” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Caching Strategies: Redis + CDN + Edge Computing, atualize para CoddyKit PRO. O curso de Caching Strategies: Redis + CDN + Edge Computing inclui 4 aulas no total.
O que vou aprender em “Envenenamento de cache e proteção da camada de cache”?
Aprenda como funcionam os ataques de envenenamento e engano de cache e como reforçar sua camada de cache contra eles usando um tratamento cuidadoso de chaves e cabeçalhos. Você pratica Caching Strategies: Redis + CDN + Edge Computing com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Caching Strategies: Redis + CDN + Edge Computing?
Nenhuma experiência prévia é necessária. Caching Strategies: Redis + CDN + Edge Computing no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Envenenamento de cache e proteção da camada de cache”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Caching Strategies: Redis + CDN + Edge Computing?
Sim. Cada aula de Caching Strategies: Redis + CDN + Edge Computing inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Fallbacks de cache e Circuit Breakers
- Práticas recomendadas de segurança para caches
- Tendências futuras do armazenamento em cache
- Envenenamento de cache e proteção da camada de cache