Pular para o conteúdo
Skillpedia
Segurança48 mil · #3251

hunt-cors

Faz seu agente procurar por configurações incorretas de CORS. Isso previne acesso não autorizado a recursos web.

O que ela faz

Esta ferramenta ajuda a encontrar falhas de segurança em como sites lidam com requisições de origens diferentes. Ela verifica se um site permite indevidamente que outros sites acessem informações sensíveis.

Quando usar

  • ✓Quando você tem permissão para testar a segurança de um site.
  • ✓Para verificar se um site está protegendo bem os dados dos usuários contra acessos não autorizados.
  • ✓Para entender como as configurações de segurança de sites (CORS) funcionam e onde podem falhar.

Exemplo do que pedir para a IA

“Quero verificar a segurança das configurações CORS no site exemplo.com. Tenho permissão escrita para isso.”

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/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/hunt-cors/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/hunt-cors/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 para o site com diferentes cabeçalhos 'Origin' para ver como o site responde. Ela procura por respostas que indiquem que o site está permitindo acesso indevido a dados sensíveis.

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 sickn33/agentic-awesome-skills --skill hunt-cors

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-cors/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.

⚠️ USO AUTORIZADO APENAS Esta habilidade destina-se apenas a fins educacionais ou avaliações de segurança autorizadas. Você deve ter permissão explícita e por escrito do proprietário do sistema antes de usar esta ferramenta. O uso indevido desta ferramenta é ilegal e estritamente proibido.

Porta de confirmação obrigatória Antes de executar qualquer comando que sonde, explore, altere, persista, extraia dados ou tente acesso a credenciais contra um alvo:

  1. Peça ao usuário para declarar o URL, IP, conta ou recurso exato do alvo.
  2. Peça ao usuário para confirmar a autorização por escrito e o escopo permitido.
  3. Mostre o(s) comando(s) exato(s) e explique seu efeito esperado.
  4. Aguarde a confirmação explícita na conversa atual.

Sem essa confirmação, permaneça apenas em modo de leitura e forneça orientação defensiva. Prefira um sandbox, VM descartável ou laboratório controlado.

HUNT-CORS — Má configuração de Compartilhamento de Recursos de Origem Cruzada

O que realmente vale a pena (e o que não vale)

CORS vale Alto apenas quando uma origem controlada pelo atacante pode realizar uma leitura de origem cruzada com credenciais de dados autenticados sensíveis, e você tem um PoC de navegador provando que o corpo da resposta é legível a partir de evil.com.

Duas regras rígidas do navegador que anulam a maioria das "descobertas" — verifique estas PRIMEIRO:

  • Access-Control-Allow-Origin: * NÃO PODE ser combinado com credenciais. Se o servidor retornar ACAO: *, o navegador se recusa a enviar/expor a resposta para uma solicitação credentials: include. Um endpoint apenas com wildcard não é explorável com credenciais. Ele só é interessante se os dados que ele serve forem sensíveis sem uma sessão (raro) — geralmente isso é Informacional/Baixo.
  • Access-Control-Allow-Credentials: true é sem sentido por si só. Ele só importa se ACAO refletir/permitir sua origem de atacante específica E uma leitura de origem cruzada com credenciais fetch realmente retornar um corpo legível. ACAC em uma resposta que não reflete sua origem não prova nada.

Se você não conseguir demonstrar um corpo autenticado legível de origem cruzada em um navegador real, você não tem um Alto. Não envie apenas a comparação de cabeçalhos.


Alvos de Joias da Coroa

  • Refletir-qualquer-origem + credenciais — o servidor ecoa o cabeçalho Origin E define ACAC: true → qualquer site lê respostas de API autenticadas. O clássico Alto.
  • Confiança de origem nula — ACAO: null + ACAC: true. Um iframe sandbox (ou uma cadeia de data:/redirecionamento) emite Origin: null, então qualquer página pode ler dados autenticados.
  • Bypass de regex de subdomínio — regex de origem confiável com uma falha de análise. O payload correto depende de qual falha (veja Fase 3 — é aqui que a maioria das habilidades erra).
  • Tomada de subdomínio → origem confiável — um subdomínio pendente que a política CORS confia; tome posse dele, hospede o PoC lá (veja hunt-subdomain).
  • postMessage com verificação de origem ausente/frouxa — manipulador que processa event.data sem validar estritamente event.origin.

Sinais de Superfície de Ataque

Any endpoint returning an Access-Control-Allow-Origin header
API endpoints:   /api/*, /v1/*, /graphql
Profile/account: /api/me, /api/profile, /api/user, /api/session
Secrets/tokens:  /api/tokens, /api/keys, /api/csrf, /api/account/settings
Financial:       /api/balance, /api/transactions
Admin/internal:  /api/admin/*, /api/internal/*

Priorize endpoints que (a) exigem um cookie de sessão e (b) retornam PII, tokens, tokens CSRF ou outros segredos no corpo.


Metodologia de Caça Passo a Passo

Fase 1 — Descobrir endpoints CORS

# Probe API endpoints. Use GET (not -I): some servers only emit CORS on GET,
# and -I sends HEAD which may be handled differently.
while read url; do
  result=$(curl -s -D - -o /dev/null "$url" \
    -H "Origin: https://evil.com" \
    -H "Cookie: $SESSION_COOKIE" | grep -i "access-control")
  [ -n "$result" ] && echo "=== $url ===" && echo "$result"
done < recon/$TARGET/api-endpoints.txt

# httpx bulk check
cat recon/$TARGET/live-hosts.txt | awk '{print $1}' | \
  httpx -H "Origin: https://evil.com" -match-string "access-control-allow-origin"

Fase 2 — Refletir-qualquer-origem + origem nula

# O servidor reflete uma Origem arbitrária de volta?
curl -s -D - -o /dev/null https://$TARGET/api/me \
  -H "Origin: https://evil.com" \
  -H "Cookie: $SESSION_COOKIE" | grep -i "access-control"

# Vulnerável (o caso Alto):
#   Access-Control-Allow-Origin: https://evil.com   <- reflete a origem do atacante
#   Access-Control-Allow-Credentials: true          <- + credenciais => legível
#

…
Perguntas frequentes

O que é CORS?

CORS (Cross-Origin Resource Sharing) é um mecanismo de segurança que permite que um site peça recursos (como dados ou APIs) de outro domínio. Ele ajuda a proteger os dados, mas configurações incorretas podem criar brechas.

O que é uma 'falha de configuração CORS'?

É quando um site está configurado de forma incorreta, permitindo que sites não confiáveis acessem ou manipulem dados que deveriam ser privados.

Por que preciso de permissão para usar esta ferramenta?

Testar a segurança de um site sem permissão é ilegal. Esta ferramenta só deve ser usada em sistemas para os quais você tem autorização explícita e por escrito.

Detalhes

Descrição original do autor

Hunt CORS Misconfiguration

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3251
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas