Intermediário 8 desafios
XXE
Muito sistema recebe dados em XML: uma fatura, uma configuração, um documento. O XML tem um recurso antigo, o DTD, onde o documento pode declarar entidades: apelidos que o parser troca pelo valor na hora de ler. Uma entidade externa manda o parser ir buscar um arquivo ou uma URL e colar o conteúdo dentro do documento. Quando o parser está ligado para resolver essas entidades e aceita o XML que você escreve, você faz o servidor ler arquivos locais, alcançar serviços internos e vazar dados por fora. Isso é XXE (entidade externa de XML). Aqui você aprende a reconhecer o parser que confia no DTD, montar uma entidade que lê um arquivo de brinquedo, ler um segredo fictício, entender a negação de serviço do billion laughs, usar entidades de parâmetro para vazar dados fora de banda, transformar o XXE em SSRF contra um serviço interno de brinquedo e, no fim, ler o patch que fecha a falha. Tudo em alvos de brinquedo que vêm no desafio, com IPs de documentação e nomes inventados: um parser que resolve entidades só nos arquivos de brinquedo demonstra a falha sem tocar em nada real.
O que você vai aprender
- XML, DTD e entidades
- Entidade externa
- Billion laughs
- Entidades de parâmetro e fora de banda
- O que é SSRF
- Serviços internos e localhost
- Fechando o XXE
- Web Com arquivo Exemplo resolvido
O XML que confia
Disponível - Web Com arquivo Exemplo resolvido
A primeira entidade
0% de acerto, 0 resolveram
Disponível - Web Com arquivo
Lendo o segredo
Disponível - Web Com arquivo
Contando as risadas
Disponível - Web Com arquivo
A entidade de parâmetro
Disponível - Web Com arquivo
Quando o XXE vira SSRF
0% de acerto, 0 resolveram
Disponível - Web Com arquivo
Lendo o patch do XXE
Disponível - Web Com arquivo
Capstone do XXE
0% de acerto, 0 resolveram
Disponível