HTTP request smuggling, basic CL.TE vulnerability writeup

Descripción

This lab involves a front-end and back-end server, and the front-end server doesn’t support chunked encoding. The front-end server rejects requests that aren’t using the GET or POST method.

To solve the lab, smuggle a request to the back-end server, so that the next request processed by the back-end server appears to use the method GPOST.

HTTP request smuggling, basic CL.TE vulnerability writeup

Dividiremos el laboratorio en dos fases:

Detectar la vulnerabilidad CL.TE

CL.TE significa lo siguiente:

En este laboratorio la extensión ‘HTTP Request Smuggler’ no funcionará, por lo que realizaremos las comprobaciones de forma manual. También los siguientes cambios sobre la petición a la raíz en el ‘Repeater’:

  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. De manera opcional también se pueden borrar todos los atributos no necesarios para este laboratorio, como se puede ver en la siguiente captura:

Nota: En este caso, como es una vulnerabilidad CL.TE, sólo desactivaremos la opción ‘Update content length’ para verificar que es esta vulnerabilidad:

Comprobamos así que consiste en una vulnerabilidad CL.TE.

Forzar una petición GPOST

Configuraremos la petición de ataque de la siguiente forma:

Al enviar la petición dos veces saldrá el mensaje de ‘Unrecognized method GPOST’, completando así el laboratorio:

Deja una respuesta

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