Descripción

This lab is vulnerable to routing-based SSRF via the Host header. Although the front-end server may initially appear to perform robust validation of the Host header, it makes assumptions about all requests on a connection based on the first request it receives.

To solve the lab, exploit this behavior to access an internal admin panel located at 192.168.0.1/admin, then delete the user carlos.

Host validation bypass via connection state attack writeup

Capturamos con el ‘Logger’ la petición a la raíz del servidor ‘/’ y la enviamos al ‘Repeater’ con Ctrl + R o Click derecho -> Send to Repeater. Allí intentaremos acceder al panel del administrador con la siguiente petición:

Nos realiza una redirección permanente (HTTP 301) a la raíz del laboratorio. Podremos sobrepasar esta medida de la siguiente forma:

  1. Duplicaremos la petición con Ctrl + R.
  2. Crearemos un grupo con Click derecho en una pestaña -> Move tab to group.
    • Añadiremos ambas peticiones al mismo grupo
  3. La primera petición deberá de tener como URL ‘/’ y el host el servidor del laboratorio ‘0aa9004a03086bea80832100007f00ca.h1-web-security-academy.net’.
  4. La segunda petición tendrá como URL ‘/admin’ y de host ‘192.168.0.1’.
  5. Ambas peticiones deben de tener el atributo ‘Conection: keep-alive’

Al enviar ambas peticiones a la vez (Send group (single connection)) la primera será redirigida, pero la segunda llegará al panel del administrador:

Esto se debe a que, pese a que HTTP sea un protocolo sin estado, el servidor entiende que al haber redirigido la primera petición, la segunda forma parte de ella y no tiene que ser redirigida, porque se hará automáticamente.

Modificaremos la petición como hemos visto en los laboratorios anteriores y la enviaremos:

Completando así el laboratorio:

Deja una respuesta

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