¿Cuándo se necesita una página intermedia antes de expulsar a un usuario de mi sitio web principal? ¿Cuál es la mejor implementación?

4

La NSA tiene una página que intercepta redirecciones fuera del sitio principal. (haga clic en "TLS:" Suite B Cipher Suites para TLS, "RFC 5430" para ver un ejemplo).

He visto esto usado en Exchange Outlook Web Access (OWA) para evitar la divulgación de información a través del encabezado referer: .

  
  • ¿Qué tipo de información sería peligrosa revelar a través de un encabezado referer: ?
  •   

Parece que hay dos enfoques diferentes aquí: la NSA requiere que el usuario "desactive" el sitio, mientras que OWA permite que la redirección HTTP maneje esta característica de privacidad.

  
  • ¿Cuál es un mejor enfoque? Haga clic para redirigir, o la redirección HTTP 301/302
  •   

El enfoque "automático" parece prestarse al abuso y los posibles ataques XSS.

  
  • Si se utiliza una redirección 301/302 o Javascript a una URL externa, ¿qué precauciones de seguridad adicionales deben tomarse?
  •   
    
pregunta random65537 10.10.2011 - 17:38
fuente

2 respuestas

3
  

¿Qué tipo de información sería peligrosa revelar a través de un referente: encabezado?

Cualquier tipo de información privada o confidencial no debe exponerse a sitios web externos, todo depende de su aplicación. Las cosas más comunes a considerar son:

  • ID de sesión (a veces puedes verlas en parámetros de URL como? PHPSESSID = ....)
  • ID de usuario / ID de recurso (pueden dar una pista a un tercero sobre quién es exactamente el usuario)
  • cualquier tipo de tokens sensibles como anti CSRF tokens, confirma acción tokens, cuenta tokens de activación, etc.
  • algunos datos confidenciales del usuario, por ejemplo, términos de búsqueda que utilizó en su sitio web.
  

¿Cuál es un mejor enfoque? Haga clic para redirigir, o la redirección HTTP 301/302

El redireccionamiento 30x es perfectamente correcto desde el punto de vista técnico, ya que perderá el encabezado del Referer. Considere usar un 'clic para redirigir' si desea informar a sus usuarios sobre la redirección que se está produciendo.

  

Si se utiliza una redirección 301/302 o Javascript a una URL externa, ¿qué precauciones de seguridad adicionales deben tomarse?

Por ejemplo, imagine que el atacante configura un sitio de phishing con el diseño de su sitio y un formulario de inicio de sesión falsificado y utiliza su redirección abierta para atraer a los usuarios a su sitio web, reuniendo sus nombres de usuario y contraseñas. Por ejemplo, podría enviar una campaña de spam con las URL que apuntan a su guión de redireccionamiento. Es una vulnerabilidad de seguridad común comúnmente llamada redirección abierta . La protección de los clics sería mejor en este sentido, ya que se informaría a los usuarios sobre la redirección que se está produciendo, pero es mucho mejor tener un proceso de validación manual / semiautomática de destinos de redirección para que pueda monitorear las URL maliciosas y bloquearlas. .

Nunca tendrás un control total sobre las URL de destino, ya que los atacantes pueden ocultarte el contenido malicioso de muchas maneras, pero tener un proceso listo para bloquear las URL no deseadas te permitirá desarrollar mejores filtros. Dominios o implementar una función de listas grises: para URL buenas conocidas, redireccionamiento 301, mal conocido - 501 y para todos los demás, confirmación del usuario. Esto es lo que Facebook hace más o menos.

    
respondido por el Krzysztof Kotowicz 10.10.2011 - 21:30
fuente
1

Por lo que sé, la redirección automática está bien, siempre y cuando controle a qué redirigirá. Probablemente sea mejor evitar la creación de un redirector abierto (existe cierta controversia sobre si vale la pena preocuparse por los redirectores abiertos o no, pero tiendo a pensar que es mejor evitarlos). La página para redirigir a los usuarios debe asegurarse de que no haya secretos en su URL.

    
respondido por el D.W. 10.10.2011 - 19:14
fuente

Lea otras preguntas en las etiquetas