O XML que confia
A PampaBill recebe faturas em XML num endpoint POST /ingest. O código do parser está em invoice-parser.js, e parser-options.txt explica cada opção de configuração. O parse-log.txt mostra o que aconteceu quando uma fatura trouxe um DTD.
Antes de atacar qualquer coisa, você precisa reconhecer por que esse parser é perigoso. Das três opções configuradas, só UMA, quando ligada, faz o parser realmente resolver entidades externas (ir buscar um arquivo ou URL e colar o conteúdo). O nome dessa opção é a flag.
Formato: tocaia{...} em minúsculas, o nome da opção sem espaços. Exemplo com a mesma forma, que não é a resposta: tocaia{readtimeout}.
Arquivos do desafio
Exemplo resolvido
Este desafio vem com a solução em passos. Abra um de cada vez e tente o próximo sozinho antes de abrir. Cada passo aberto conta como ajuda no seu rating.
Passo 1 Leia como o parser é criado
Passo 2 Entenda cada opção
Passo 3 Separe aceitar de resolver
Passo 4 Escreva a flag
Tudo se resolve com ferramentas gratuitas.
Entre para ver o assunto deste desafio.
A solução comentada aparece depois que você resolve.