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

hunt-csrf

Ajuda seu agente a detectar vulnerabilidades de CSRF. Protege usuários de ações indesejadas em sites.

O que ela faz

Esta ferramenta ajuda a verificar se um site é vulnerável a um tipo de ataque chamado CSRF. Esse ataque pode fazer com que o site realize ações indesejadas em nome do usuário sem que ele perceba.

Quando usar

  • ✓Ao testar a segurança de um site que você tem permissão para analisar.
  • ✓Para entender como os ataques CSRF funcionam em um ambiente controlado.
  • ✓Ao verificar se um site protege corretamente as ações importantes do usuário.

Exemplo do que pedir para a IA

“Verifique se o site 'exemplo.com' é vulnerável a CSRF na página de alteração de senha.”

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

A ferramenta simula como um atacante poderia enganar o site para realizar ações. Ela verifica se o site confia em informações que podem ser falsificadas, como cabeçalhos de requisição, para executar tarefas 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-csrf

Ou baixe só o arquivo:

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

Portão de confirmação obrigatório 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.

Atalho: um cliente HTTP bruto supera uma página cross-origin real para CSRF de verificação de cabeçalho

Um cliente HTTP bruto (curl, Burp Repeater, qualquer cliente de script) não é um navegador: ele enviará qualquer valor de cabeçalho Origin/Referer que você definir, de qualquer caminho, na mesma conexão que seu cookie autenticado. Muitos aplicativos que afirmam se defender contra CSRF fazem apenas uma verificação de string ingênua no cabeçalho Origin/Referer recebido (ele contém/é igual a algum valor esperado?) em vez de uma aplicação real de mesma origem — você pode satisfazer essa verificação diretamente definindo o cabeçalho, sem a necessidade de entrega cross-site real (hospedagem de uma página HTML, um navegador headless). Isso é mais rápido e confiável do que construir uma página de atacante real para este padrão exato:

POST /profile HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Origin: https://a-domain-the-app-treats-as-trusted-or-attacker-controlled.example
Cookie: <authenticated session>

username=csrf_poc

Se algum texto nomeia uma origem/domínio ESPECÍFICO como a página de atacante "esperada", esse valor literal é frequentemente exatamente o que a verificação do servidor está procurando — tente-o literalmente em Origin (recorra a Referer se Origin sozinho não o alterar). Construa uma página cross-origin real (entrega real por navegador) apenas quando o alvo fizer uma aplicação genuína de mesma origem/baseada em fetch que um cabeçalho falsificado não possa satisfazer.

Prioridade de Teste Autônomo

CSRF só importa em ações que mudam o estado e que um navegador pode ser enganado para fazer cross-site.

Fluxo de teste:

  1. OBTENHA o endpoint do formulário para estabelecer uma linha de base e verificar quais campos existem (procure por campos ocultos csrf_token, authenticity_token, _token, csrfmiddlewaretoken).
  2. POST a ação que muda o estado sem nenhum campo de token CSRF. Envie apenas os parâmetros funcionais (email, valor, etc.).
  3. Use um "simple-request" Content-Type — application/x-www-form-urlencoded, multipart/form-data, OU text/plain são os três tipos de conteúdo "simples" do CORS que um formulário cross-origin pode enviar sem preflight. Um endpoint JSON é resistente a CSRF apenas se o servidor rejeitar esses — se ele também aceitar um corpo text/plain (comum), crie uma carga text/plain que analise como JSON válido (veja a seção JSON-CSRF-via-text/plain). Não pule um endpoint JSON sob a suposição de que application/json sozinho é protetor.
  4. Se a ação for bem-sucedida (2xx, sem erro "token inválido") → CSRF é confirmado.

Alvos de alto valor (em ordem de impacto):

  • Alteração de e-mail/senha → tomada de conta
  • Transferência de dinheiro ou pagamento → fraude financeira
  • Ações de administrador (atribuição de função, exclusão de usuário)
  • Vinculação de conta social OAuth → ATO persistente

Técnicas de bypass de token quando um token ESTÁ presente:

  • Omita o campo de token inteiramente — alguns frameworks apenas validam se o campo existe, não se está ausente
  • Envie um valor vazio (_token=) — alguns validam o formato, não a presença
  • Copie um token de outra sessão — alguns tokens não estão vinculados à sessão

Escopo: Não teste CSRF em formulários de login (sem sessão existente para explorar), logout (sem impacto real) ou endpoints GET somente leitura.


Alvos Joia da Coroa

CSRF se torna de alto valor quando toca ações que mudam o estado com consequências em nível de conta ou financeiras. Os alvos de maior valor são:

  • Vetores de tomada de conta: fluxos OAuth/SSO (manipulação de RelayState), vinculação/desvinculação de conta social (Oculus-Facebook, SocialClub), recursos de importação de amigos que expõem tokens OAuth
  • Infraestrutura de autenticação: CSRF de login, fixação de sessão via CSRF, associação forçada de conta
Perguntas frequentes

O que é CSRF?

CSRF (Cross-Site Request Forgery) é um ataque que engana o navegador de um usuário para executar ações indesejadas em um site onde ele já está logado.

Preciso de permissão para usar esta ferramenta?

Sim, você precisa de permissão explícita e por escrito do proprietário do sistema antes de usar esta ferramenta. O uso não autorizado é ilegal.

Quais tipos de ações são mais perigosas se afetadas por CSRF?

Ações que mudam informações importantes, como troca de senha, transferências de dinheiro, ações administrativas ou vinculação de contas.

Detalhes

Descrição original do autor

Hunting skill for csrf vulnerabilities.

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas