Contaminación de parámetros HTTP

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

La contaminación de parámetros HTTP (HPP por sus siglas en inglés HTTP parameter pollution) es una vulnerabilidad de la aplicación web que se aprovecha mediante la inyección de delimitadores de cadenas de consulta codificadas en parámetros ya existentes. La vulnerabilidad ocurre si la entrada del usuario no está codificada correctamente para la salida de una aplicación web. Esta vulnerabilidad permite la inyección de parámetros en URL creadas por aplicaciones web. Fue presentado al público por primera vez en 2009 por Stefano di Paola y Luca Carettoni, en la conferencia OWASP EU09 Polonia.El impacto de dicha vulnerabilidad varía y puede variar desde una "simple molestia" hasta la interrupción total del comportamiento previsto de una aplicación web. Anular los parámetros HTTP para alterar el comportamiento de una aplicación web, pasar por alto los puntos de control de validación de entrada y acceso, así como otras vulnerabilidades indirectas, son posibles consecuencias de un ataque HPP.

No existe un estándar RFC sobre lo que se debe hacer cuando ha pasado múltiples parámetros. HPP podría usarse para la contaminación de canales cruzados, sin pasar por la protección CSRF y los controles de validación de entrada WAF.

Comportamiento

Cuando ha pasado varios parámetros con el mismo nombre, así es como se comporta el backend.

Tecnologíaresultado del análisisEjemplo
ASP.NET/IISTodas las ocurrencias concatenadas con una comaparámetro=val1,val2
ASP/IISTodas las ocurrencias concatenadas con una comaparámetro=val1,val2
PHP/ApacheSolo última ocurrenciaparámetro=val2
PHP/ZeusSolo última ocurrenciaparámetro=val2
JSP, Servlet/Apache TomcatSolo la primera apariciónparámetro=val1
JSP, servlet/servidor de aplicaciones OracleSolo la primera apariciónparámetro=val1
JSP, servlet/embarcaderoSolo la primera apariciónparámetro=val1
IBM Lotus DominoSolo última ocurrenciaparámetro=val2
Servidor HTTP de IBMSolo la primera apariciónparámetro=val1
mod_perl,libapreq2/ApacheSolo la primera apariciónparámetro=val1
Perl CGI/ApacheSolo la primera apariciónparámetro=val1
mod_wsgi (Python)/ApacheSolo la primera apariciónparámetro=val1
Pitón/ZopeTodas las ocurrencias en la lista (matriz)parámetro=['val1','val2']

Tipos

Lado del cliente

  • Primer orden / HPP reflejado
  • Segundo pedido / HPP almacenado
  • Tercer Orden / DOM HPP

Lado del servidor

  • HPP estándar
  • HPP de segundo orden

Prevención

La validación de entrada adecuada y el conocimiento de la tecnología web en HPP es una protección contra la contaminación de parámetros HTTP.

Contenido relacionado

AmigaDOS

Vigilancia predictiva

La vigilancia predictiva o policía preventiva se refiere al uso de análisis matemáticos, predictivos y otras técnicas analíticas en la aplicación de la...

Patrón de fachada

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save