Identificar XXE
Last updated
Last updated
O primeiro passo para identificar potenciais vulnerabilidades XXE é encontrar páginas da web que aceitem uma entrada XML do usuário.
Se preenchermos o formulário de contato e clicarmos em Send Data
, então interceptamos a solicitação HTTP com Burp
Vamos agora enviar a solicitação modificada e ver se o valor da nossa entidade XML externa é definido para o arquivo ao qual fazemos referência:
O método mais eficiente para transformar XXE em RCE é buscar um web shell do nosso servidor e escrevê-lo no aplicativo web, e então podemos interagir com ele para executar comandos. Para fazer isso, podemos começar escrevendo um web shell PHP básico e iniciando um servidor web python, como segue:
Agora, podemos usar o seguinte código XML para executar um curl
comando que baixa nosso shell da web no servidor remoto: