¿Qué es un "Encabezado de host final" y cómo puedo probarlo?

16

Mi equipo ha estado investigando sobre las protecciones de WAF basadas en una herramienta de prueba de WAF lanzada en Black Hat este año. En la herramienta, hay una lista de pruebas de evasión de nombre de host , que en realidad son un resumen de ideas para realizar pruebas manualmente.

Solo hay uno que nos ha dejado perplejos: ¿qué es un "encabezado de host final" como técnica de evasión de nombre de host?

¿Puede alguien sugerir una prueba viable para esto?

    
pregunta bethlakshmi 17.08.2012 - 21:37
fuente

1 respuesta

12

El cliente utiliza el encabezado del Host para indicar con qué nombre de servidor quiere hablar. Es posible que varios sitios web se publiquen desde una única dirección IP.

En el protocolo HTTP, los datos pueden enviarse en varios fragmentos. Esto es especialmente útil si el servidor no conoce el tamaño de los datos antes de completar la solicitud (por ejemplo, una transmisión en vivo o una aplicación web que comienza a enviar algunos resultados mientras sigue trabajando en el resto).

Consulte 3.6.1 Codificación de transferencia fragmentada para obtener más información:

  

El campo de tamaño de fragmento es una cadena de dígitos hexadecimales que indican el tamaño del fragmento. La codificación fragmentada finaliza con cualquier fragmento cuyo tamaño sea cero, seguido del final, que termina con una línea vacía.

     

El tráiler permite al remitente incluir campos de encabezado HTTP adicionales al final del mensaje.

Incluso si un cliente está cargando algo de tamaño desconocido, sabrá la ubicación de destino en ese momento, abrió la conexión. Por lo tanto, no tiene sentido colocar el encabezado del Host en la sección final detrás de los datos.

La situación puede ser explotable, si la solicitud es manejada por un proxy inverso (también conocido como firewall de la aplicación web) que maneja las reglas de acceso: el proxy invertido puede ver uno de los encabezados del host, pero la aplicación web puede ver el otro.

    
respondido por el Hendrik Brummermann 17.08.2012 - 22:16
fuente

Lea otras preguntas en las etiquetas