Inicie a máquina, hackeie o sistema e encontre as flags escondidas para completar este desafio e ganhar XP!
A injeção XML External Entity (XXE) é uma vulnerabilidade de segurança web que visa aplicações que processam entrada XML. Quando parsers XML são configurados para resolver referências de entidades externas, os atacantes podem explorar essa funcionalidade para ler arquivos arbitrários do servidor, realizar Server-Side Request Forgery (SSRF) e, em alguns casos, obter execução remota de código. O XXE foi reconhecido como uma ameaça crítica no OWASP Top 10 e afeta qualquer aplicação que analise dados XML de fontes não confiáveis.
O XML suporta um recurso chamado entidades externas, definidas na Document Type Definition (DTD), que permite que documentos XML referenciem recursos externos. Uma declaração de entidade como <!ENTITY xxe SYSTEM "file:///etc/passwd"> instrui o parser XML a buscar o conteúdo do arquivo especificado e incluí-lo onde quer que a referência de entidade &xxe; apareça no documento. Quando uma aplicação reflete o conteúdo XML analisado de volta ao usuário, o conteúdo do arquivo é divulgado na resposta.
A superfície de ataque do XXE é mais ampla do que muitos desenvolvedores percebem. Qualquer endpoint que aceite entrada XML é potencialmente vulnerável - isso inclui serviços web SOAP, processadores de feeds RSS, manipuladores de upload de documentos (arquivos DOCX, XLSX e SVG são todos baseados em XML), fluxos de autenticação SAML e parsers de arquivos de configuração. Mesmo aplicações que parecem usar JSON podem aceitar XML se o cabeçalho Content-Type for alterado, já que muitos frameworks suportam múltiplos tipos de conteúdo de forma transparente.
Quando a aplicação não reflete diretamente o conteúdo XML, os atacantes podem usar técnicas fora de banda (OOB) para exfiltrar dados. Ao definir entidades externas que fazem requisições HTTP para um servidor controlado pelo atacante com o conteúdo dos arquivos codificado na URL, dados sensíveis podem ser extraídos sem nenhuma saída visível na resposta da aplicação. Entidades de parâmetros e técnicas baseadas em erros fornecem canais adicionais de exfiltração quando abordagens padrão falham.
A defesa mais eficaz contra XXE é desabilitar o processamento de entidades externas na configuração do parser XML. Em Java, isso significa configurar recursos como disallow-doctype-decl e external-general-entities para prevenir a resolução de entidades. A maioria das bibliotecas XML modernas usa configurações seguras por padrão, mas código legado e alguns frameworks ainda habilitam recursos perigosos. Validação de entrada, uso de JSON em vez de XML quando possível, e testes de segurança regulares complementam o fortalecimento do parser.
Crie uma conta gratuita e pratique cibersegurança.
Crie uma conta gratuita para iniciar seu próprio servidor dedicado, enviar flags e ganhar XP no ranking.
Começar a Hackear GrátisLabs que compartilham habilidades semelhantes
Escolha como deseja começar
Entre na sua conta