hunt-xxe
Ensina seu agente de IA a proteger aplicações contra ataques.
O que ela faz
Esta ferramenta ajuda a encontrar uma falha de segurança chamada XXE em sites e aplicativos. Essa falha pode permitir que um invasor leia arquivos sensíveis do servidor ou acesse sistemas internos.
Quando usar
- ✓Ao testar a segurança de um site.
- ✓Ao procurar por vulnerabilidades em aplicativos que processam arquivos XML.
- ✓Em avaliações de segurança autorizadas.
Exemplo do que pedir para a IA
“Procure por vulnerabilidades XXE no site exemplo.com”
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 dados especialmente criados para o site, esperando que ele reaja de forma inesperada se a falha XXE existir. Ela verifica se o site revela informações ou tenta se conectar a outros sistemas.
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-xxeOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-xxe/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.
⚠️ 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.
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:
- Peça ao usuário para declarar o URL exato, IP, conta ou recurso alvo.
- Peça ao usuário para confirmar a autorização por escrito e o escopo permitido.
- Mostre o(s) comando(s) exato(s) e explique seu efeito esperado.
- 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.
Alvos Principais (Crown Jewel Targets)
XXE é uma vulnerabilidade de gravidade crítica que consistentemente paga no topo das escalas de bug bounty (US$ 5.000–US$ 30.000+) devido ao seu caminho direto para a exfiltração de dados sensíveis e SSRF. Alvos de maior valor:
- Plataformas empresariais de grande porte com integrações de backend ricas em XML (finanças, logística, APIs de transporte por aplicativo)
- Domínios com capacidade de leitura de arquivos —
/etc/passwd,/etc/shadow, arquivos de configuração internos, endpoints de metadados da AWS - Subdomínios compartilhando infraestrutura de backend — um endpoint XXE pode fazer pivô para serviços internos em dezenas de domínios (como demonstrado por mais de 26 domínios da Uber através de um único ponto de entrada)
- Gateways de API que aceitam tipos de conteúdo XML — especialmente APIs REST que aceitam silenciosamente
Content-Type: application/xml - Recursos de upload de arquivos — parsers SVG, DOCX, XLSX, PDF, PPTX no lado do servidor
- Endpoints SAML/SSO — asserções SAML são baseadas em XML e frequentemente vulneráveis
- Serviços de processamento de Office/documentos — qualquer recurso que converte ou processa documentos fornecidos pelo usuário
Sinais da Superfície de Ataque
Padrões de URL
/api/v*/xml
/upload
/import
/parse
/convert
/saml/acs
/sso/saml
/feed
/rss
/sitemap
/webdav
/soap/*
/wsdl
/service.asmx
/xmlrpc
/graphql (multipart with XML)
Cabeçalhos de Requisição/Resposta
Content-Type: application/xml
Content-Type: text/xml
Content-Type: application/soap+xml
Content-Type: multipart/form-data ← check file upload fields
Accept: application/xml
X-Content-Type-Options: (absent — good sign of loose parsing)
Padrões de JavaScript (reconhecimento de código-fonte)
// Look for in JS bundles
XMLSerializer
DOMParser
parseFromString
new ActiveXObject("Microsoft.XMLDOM")
$.parseXML(
xml2js
libxmljs
lxml
Sinais de Pilha Tecnológica (Tech Stack)
- Pilhas Java: Spring, Struts, JAX-WS — parsers XML padrão (SAX, DOM) são vulneráveis a XXE sem hardening explícito
- PHP:
simplexml_load_string(),DOMDocument::loadXML()— vulnerável por padrão antes do PHP 8 - Python:
lxml,xml.etree(seguro por padrão),xml.sax(inseguro) - Ruby:
Nokogiriversões mais antigas,REXML - Node.js:
xml2js,libxmljs,fast-xml-parser(versões mais antigas) - Serviços WSDL/SOAP: Sempre teste — parsing XML legado virtualmente garantido
- Parsers de arquivos: Apache POI (Java), python-docx, integrações com LibreOffice
Metodologia de Caça Passo a Passo
Mapeie todos os pontos de entrada XML — Use o scanner passivo do Burp Suite para sinalizar todas as requisições/respostas com tipos de conteúdo XML. Intercepte também endpoints JSON e troque manualmente
Content-Typeporapplication/xmlcom um corpo XML equivalente.Identifique recursos de upload de arquivos — Faça upload de SVG, DOCX, XLSX e observe se o servidor processa/renderiza o conteúdo. Estes são frequentemente XML internamente.
Tente XXE inline (leitura de arquivo clássica) — Substitua o corpo XML por um payload básico de teste de entidade visando
/etc/passwdouC:\Windows\win.ini. Observe se o valor é refletido na resposta.Se não houver reflexão, faça pivô para Blind OOB — Configure um listener OOB (Burp Collaborator, interactsh ou um servidor netcat auto-hospedado). Injete uma entidade externa apontando para seu URL de callback. Confirme o hit de DNS/HTTP para validar que o parser está fazendo conexões de saída.
Escalone Blind OOB para exfiltração de arquivos — Use um payload de dois estágios: a primeira entidade carrega o arquivo local, a segunda entidade o envia via OOB através de um parâmetro HTTP ou exfiltração de DNS.
Teste o pivô SSRF — Aponte a entidade externa para endereços da rede interna (
http://169.254.169.254/latest/meta-data/,http://10.0.0.1/,http://localhost:8080/admin). Procure por diferenças no tempo de resposta ou mensagens de erro.
…
Perguntas frequentes
O que é XXE?
XXE significa 'XML External Entity' (Entidade Externa XML). É um tipo de falha de segurança que ocorre quando um aplicativo processa dados XML de forma insegura.
Quais são os riscos de uma falha XXE?
Um invasor pode ler arquivos confidenciais do servidor, como senhas ou configurações, ou usar o servidor para atacar outros sistemas internos (SSRF).
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.
Detalhes
Descrição original do autor
Hunting skill for xxe vulnerabilities.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3297
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC