
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:
- Duplicaremos la petición con Ctrl + R.
- Crearemos un grupo con Click derecho en una pestaña -> Move tab to group.
- Añadiremos ambas peticiones al mismo grupo
- La primera petición deberá de tener como URL ‘/’ y el host el servidor del laboratorio ‘0aa9004a03086bea80832100007f00ca.h1-web-security-academy.net’.
- La segunda petición tendrá como URL ‘/admin’ y de host ‘192.168.0.1’.
- 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:
