¿Cuáles son los riesgos de aceptar la configuración de URL para la redirección automática?

6

Alguien puede nombrar todos los riesgos del siguiente escenario:

El usuario visita una página, pero su sesión ha caducado, por lo que se le redirige automáticamente a la página de inicio de sesión con su página anterior y parámetros agregados como un solo parámetro, codificado con el código urlencode() de PHP:

https;//www.example.com/login.php?previous_page=%2Fdashboard.php

Cuando inicie sesión, diríjase automáticamente a:

https;//www.example.com/dashboard.php

Actualmente soy consciente de dos:

  1. Enlaces manipulados que contienen nombres de dominio externos, por ejemplo: %código%
  2. Enlaces manipulados que contienen scripts, por ejemplo: https://www.example.com/login.php?previous_page=http%3A%2F%2Fxss.com%2Fmalware.php

Actualmente, se evitan esto aceptando solo el valor de https://www.example.com/login.php?previous_page=%3Cscript%3Ealert(document.cookie)%3B%3C%2Fscript%3E param si comienza con previous_page (codificado %2F ). ¿Hay más riesgos para atrapar?

    
pregunta Alph.Dev 30.08.2014 - 17:06
fuente

1 respuesta

3

Alguien podría pasar un enlace a //xss.com/malware.php , codificándolo como https://www.example.com/login.php?previous_page=%2F%2Fxss.com%2Fmalware.php . Para evitar esto, puede pasar la ruta desde la raíz del sitio como parámetro, por lo que solo pasaría dashboard.php . Luego arme el enlace completo en el lado del servidor.

    
respondido por el ikdc 30.08.2014 - 20:33
fuente

Lea otras preguntas en las etiquetas