Lab 2: Exploiting XXE to perform SSRF attacks

https://portswigger.net/web-security/xxe/lab-exploiting-xxe-to-perform-ssrf

Al acceder al aplicativo web, se puede apreciar el siguiente button:

Se genera la siguiente peticion:

POST /product/stock HTTP/2
Host: 0a4a00790442213c820d0136009d00d4.web-security-academy.net
Cookie: session=Y9VSlomfzNJKPRChjqGQQZKE0rvGZRX4
Content-Length: 107
Sec-Ch-Ua: "Chromium";v="128", "Not;A=Brand";v="24", "Google Chrome";v="128"
Content-Type: application/xml
Sec-Ch-Ua-Mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; 
Sec-Ch-Ua-Platform: "Windows"
Accept: */*
Origin: https://0a4a00790442213c820d0136009d00d4.web-security-academy.net
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://0a4a00790442213c820d0136009d00d4.web-security-academy.net/product?productId=2
Accept-Encoding: gzip, deflate, br
Accept-Language: es-ES,es;q=0.9
Priority: u=1, i

<?xml version="1.0" encoding="UTF-8"?>
<stockCheck>
    <productId>2</productId>
    <storeId>1</storeId>
</stockCheck>

Y su respuesta es:

Al detectar la sintaxis de XML, se procede a intentar a realizar inyecciones de XML:

Y se puede apreciar que si es vulnerable:

Teniendo en cuenta que este servicio si es vulnerable a XXE.

Se procede a intentar realizar una concatenacion de vulnerabilidades de XXE con SSRF y el objetivo es poder comunicarse con el servicio de metadatos de AWS:

La respuesta de la peticion previa es:

La respuesta previa se puede apreciar la palabra latest asi que la concatenamos a la URL previa:

Y tenemos la siguiente respuesta:

Para finalizar, podriamos realizar un consumo asi:

Se puede apreciar la siguiente respuesta:

Última actualización

¿Te fue útil?