¿Cómo podrían los atacantes explotar $ _SERVER ['HTTP_REFERER']

4

Me han advertido que $_SERVER['HTTP_REFERER'] de PHP es un vector de ataque común para los sitios web. ¿Cuáles son las formas en que los atacantes explotan esta función? ¿Cómo puedo protegerme contra ellos?

    
pregunta bernie2436 20.05.2014 - 20:18
fuente

2 respuestas

4

Si el sitio web toma ciertas decisiones de seguridad basadas en el referer y no realiza ninguna otra verificación de seguridad, puede falsificar este valor.

Además, si está enviando HTTP en bruto, puede usar esto para algún tipo de inyección o posible ataque XSS. Por ejemplo, si la página web se comporta de manera diferente según el referente, podría tomar al referente como entrada a una función. Debido a que el referer no suele ser un campo de entrada del usuario, es posible que se olviden de realizar la limpieza adecuada en este campo, lo que le permite realizar cualquier tipo de ataque basado en la entrada.

Un poco más de OWASP:

respondido por el Eric G 20.05.2014 - 20:26
fuente
2

El "referer" header generalmente apunta a la página de la que acaba de llegar el usuario, aunque no es enviado por La mayoría de los navegadores modernos cuando se utiliza HTTPS. Este es un problema en sí mismo, ya que un sitio que se basa en él no se puede proteger con SSL / TLS.

Algunas versiones anteriores de complementos como Flash permitieron establecer este encabezado , es decir, si un sitio lo usó como CSRF , esto podría ser eludido.

Además, si existe una vulnerabilidad XSS solo en una página en particular, el script se puede inyectar en esa página que luego se redireccionará a otra página que normalmente sería segura debido a una verificación del referidor. Dado que el referente ahora provendrá de una página en el dominio local, el ataque CSRF ahora tiene éxito.

También ha habido otras vulnerabilidades en las que la lógica para verificar el remitente no es la correcta.

por ejemplo un cheque de www.example.com puede ser engañado por un referente de http://www.example.com.evil.com/foo.html o http://www.evil.com/www.example.com y otras variaciones similares.

    
respondido por el SilverlightFox 21.05.2014 - 11:07
fuente

Lea otras preguntas en las etiquetas