Descripción

This lab is vulnerable to request smuggling because the front-end server downgrades HTTP/2 requests even if they have an ambiguous length.

To solve the lab, perform a request smuggling attack that causes the victim’s browser to load and execute a malicious JavaScript file from the exploit server, calling alert(document.cookie). The victim user accesses the home page every 10 seconds.

H2.CL request smuggling writeup

Dividiremos el laboratorio en dos fases:

Detectar el tipo de vulnerabilidad HTTP smuggling

Primero, tendremos que verificar el tipo de vulnerabilidad HTTP smuggling:

Intentaremos modificar la petición a la raíz como ambos payloads, pero no dará resultado:

Esto nos dice que el ataque debe ser realizado en HTTP/2. Probaremos con la siguiente configuración para comprobar un ataque H2.CL:

Por un lado la petición maligna (con el cálculo del ‘Content-Length’ desactivado en las opciones y son ‘Transfer-Encoding’):

Y luego la petición normal:

Esto sucede porque el front-end no está comprobando adecuadamente el ‘Content-Length’ y está confiando en el parámetro que estamos introduciendo nosotros.

Ataque HTTP Smuggling con XSS

Ahora, lo que haremos será redirigir a la vícitma a nuestro ‘Exploit server’ y allí hacer que ejecute un alert(document.cookie).

Sin embargo, si añadimos a la segunda petición un atributo ‘Host’, será sobrescrito por el atributo ‘Host’ de la petición de la víctima, tenemos que modificar nuestra petición para que la de la víctima entre en el cuerpo de la nuestra:

Y modificaremos el contenido del exploit server:

Pulsaremos ‘Store’ y enviaremos nuestra petición, en un minuto se completará el laboratorio:

Deja una respuesta

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