División de respuesta HTTP en la práctica

4


¿Alguna vez has visto la división de respuesta HTTP en un entorno de laboratorio?

Hay muchos ejemplos de vulnerabilidad de división de respuesta HTTP.

Usé PHP antiguo y logré obtener 2 respuestas del servidor que están visibles en wireshark:

HTTP/1.1 302 Found
Date: Sun, 30 Aug 2015 11:56:15 GMT
Server: Apache/2.0.47 (Win32) mod_ssl/2.0.47 OpenSSL/0.9.7b PHP/4.3.3RC2-dev
X-Powered-By: PHP/4.3.3RC2-dev
Location: 
Content-Length: 0

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 25

<html>Hacked !</html>
Content-Length: 0
Content-Type: text/html; charset=ISO-8859-1

Si lo represento en BurpSuite entonces veo html de la segunda respuesta, pero el navegador no lo muestra y tiene un comportamiento diferente en lugar de depender del navegador.

Cuando miro la respuesta en la extensión Encabezados HTTP en vivo para Firefox, veo que la cadena "HTTP / 1.1 200 OK" está ausente.

¿Cómo es posible ver el encabezado División de respuesta HTTP para ubicación en el navegador?

    
pregunta Sergey Klevogin 31.08.2015 - 08:28
fuente

1 respuesta

1

Para ataques que usan fallas de aplicaciones, como en su ejemplo, el objetivo es alimentar el contenido de la respuesta 302 (con una ubicación vacía y un contenido HTML real. Por lo tanto, la primera respuesta, la respuesta 302, no tendrá un Content-Length: 0 . Coloque el 'hackeado' en esta página 302, con una longitud. No se da ninguna ubicación, por lo que la redirección fallará. La siguiente respuesta (la respuesta oficial) se descarta. En este modo no le importa la segunda respuesta.

El comportamiento del navegador al recibir una respuesta para algo que aún no se ha solicitado es bastante difícil de predecir. A menos que se use la canalización de HTTP en el navegador, esta respuesta simplemente se ignoraría.

Pero el objetivo del ataque de división de respuesta HTTP no es siempre el navegador.

Tales problemas se pueden usar para ataques de envenenamiento de caché complejos. El atacante creará la tubería de consultas (generalmente sin un navegador), de modo que la segunda consulta obtenga la respuesta adicional y podría envenenarse en un caché.

    
respondido por el regilero 08.10.2015 - 23:30
fuente

Lea otras preguntas en las etiquetas