stringtranslate.com

División de respuesta HTTP

La división de respuesta HTTP es una forma de vulnerabilidad de la aplicación web , que resulta de la falla de la aplicación o su entorno para desinfectar adecuadamente los valores de entrada. Se puede utilizar para realizar ataques de secuencias de comandos entre sitios , destrucción de usuarios cruzados, envenenamiento de caché web y exploits similares .

El ataque consiste en hacer que el servidor imprima una secuencia de retorno de carro (CR, ASCII 0x0D ) y avance de línea (LF, ASCII 0x0A ) seguida del contenido proporcionado por el atacante en la sección de encabezado de su respuesta, normalmente incluyéndolos en los campos de entrada enviados a la aplicación. Según el estándar HTTP (RFC 2616), los encabezados están separados por un CRLF y los encabezados de la respuesta están separados de su cuerpo por dos. Por lo tanto, si no se eliminan los CR y LF, el atacante puede establecer encabezados arbitrarios, tomar el control del cuerpo o dividir la respuesta en dos o más respuestas separadas (de ahí el nombre).

Prevención

La solución genérica es codificar cadenas URL antes de incluirlas en encabezados HTTP como Location o Set-Cookie .

Los ejemplos típicos de desinfección incluyen la conversión a números enteros o el reemplazo agresivo de expresiones regulares . La mayoría de los lenguajes y tiempos de ejecución de secuencias de comandos del lado del servidor modernos, como PHP desde la versión 5.1.2 [1] y Node.js desde la 4.6.0 (las versiones anteriores lo admitían, pero se podría haber omitido la protección, que se descubrió en 2016) [ 2] así como frameworks web , como Django desde la versión 1.8.4 [3] soportan la desinfección de respuestas HTTP contra este tipo de vulnerabilidad.

Referencias

  1. ^ "PHP: PHP 5.1.2. Anuncio de lanzamiento". El grupo PHP . Consultado el 13 de noviembre de 2014 .
  2. ^ "CVE-2016-5325 | Base de datos de vulnerabilidades de Snyk". Obtenga más información sobre debian:9 con la base de datos de vulnerabilidades de código abierto Snyk . Consultado el 16 de enero de 2024 .
  3. ^ "CVE-2015-5144 | Base de datos de vulnerabilidades de Snyk". Obtenga más información sobre pip con la base de datos de vulnerabilidades de código abierto Snyk . Consultado el 16 de enero de 2024 .

enlaces externos