Descripción

This lab is vulnerable to routing-based SSRF via the Host header. You can exploit this to access an insecure intranet admin panel located on an internal IP address.

To solve the lab, access the internal admin panel located in the 192.168.0.0/24 range, then delete the user carlos.

Routing-based SSRF writeup

A diferencia del laboratorio anterior (Host header authentication bypass), esta vez no existirá ‘robots.txt’ ni ‘/admin’, pero por la descripción del laboratorio sabemos que tenemos que realizar un SSRF. Llevaremos la petición de la ‘/’ del ‘Logger’ al ‘Intruder’ con Ctrl + I o Click derecho -> Send to Intruder. Allí realizaremos un ataque con la siguiente configuración:

Nota: Es importante que desactivemos la opción ‘Update Host header to match target’, si no se sustituirá la dirección IP 192.168.0.SS por la del host y el ataque no tendrá sentido.

Al finalizar ordenaremos por código HTTP y veremos que hay una dirección IP local que nos redirige a ‘/admin’. Ahora sabemos que ‘/admin’ está en la dirección local del servidor 192.168.0.125.

Enviamos la petición al ‘Repeater’. Allí modificamos la URL a ‘/admin’ y cambiamos el Host por ‘192.168.0.125’. Obtendremos la siguiente respuesta:

La página contiene un formulario ‘<form>’ que hay que cumplimentar para eliminar al usuario. Cambiaremos la petición por la siguiente:

Los cambios realizados han sido los siguientes:

  1. Se ha cambiado ‘GET’ por ‘POST’ para enviar el formulario con el método correcto.
  2. Se ha cambiado la URL de ‘/admin’ a ‘/admin/delete’ para usar el endpoint del formulario.
  3. Se han añadido los valores ‘csrf’ (con el valor proporcionado por el formulario), ‘username’ con el valor del usuario a borrar y ‘submit’ con 1 para que se envíe automáticamente.

Al volver al navegador habremos completado el laboratorio:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *