Exploiting HTTP request smuggling to capture other users' requests writeup

Descripción

This lab involves a front-end and back-end server, and the front-end server doesn’t support chunked encoding.

To solve the lab, smuggle a request to the back-end server that causes the next user’s request to be stored in the application. Then retrieve the next user’s request and use the victim user’s cookies to access their account.

Exploiting HTTP request smuggling to capture other users’ requests writeup

Dividiremos el laboratorio en dos fases:

Detectar el tipo de vulnerabilidad

Primero, tendremos que verificar el tipo de vulnerabilidad:

Modificaremos las peticiones a la raíz en el ‘Repeater’ de la siguiente forma:

  1. En Inspector -> Request attributes, cambiamos la versión de HTTP a 1.1.
  2. Damos Click derecho -> Change request method, para cambiar el método a POST.
  3. Añadimos la propiedad ‘Transfer-encoding’ con el valor chunked.
  4. Activamos la opción de ver los caracteres especiales con ‘\n’.
  5. En opciones, a la derecha de ‘Save’, desactivaremos la opción de ‘Update content length’, al menos hasta que sepamos el tipo de vulnerabilidad.
  6. De manera opcional también se pueden borrar todos los atributos no necesarios para este laboratorio, como se puede ver en la siguiente captura:

Comprobamos así que consiste en una vulnerabilidad CL.TE, por lo que volvemos a activar la opción ‘Update content length’.

CL.TE significa lo siguiente:

Preparar la petición para hacer el ataque CL.TE

En este caso, se nos pide que un usuario que navega en la página deje sus datos reflejados en alguna parte. El único sitio donde podemos hacer esto es en la entrada de un blog, al publicar un comentario. Volveremos al navegador, en ‘View post’, y allí capturaremos la petición de enviar un comentario:

Nos llevamos esta petición al ‘Repeater’ con Ctrl + R, y la añadimos a la petición anterior de tal forma que anexione en el atributo ‘comment’ de su cuerpo la petición del usuario que navega:

Nota: Se ha puesto un Content-Type de 950 para que entre las cookie de sesión del administrador en el comentario.

Al esperar unos minutos podremos encontrar la cookie de sesión en un comentario:

La sustituiremos en nuestro navegador o en una petición y al volver a la página habremos completado el laboratorio:

Deja una respuesta

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