Tengo un área de miembros en mi sitio donde si un usuario no inicia sesión, se redirigen a la URL de inicio de sesión con? Redirect = [CURRENT_URL] y se les redirige a [CURRENT_URL] una vez que inician sesión correctamente.¿Cuáles son las preocupaciones de seguridad con la redirección de un usuario después de iniciar sesión en una url proporcionada en el formulario de inicio de sesión?
¿Cuáles son los posibles problemas de seguridad con este enfoque, cómo prevenirlos y cuáles son las alternativas?
p. Ej. un usuario malintencionado puede vincular mi sitio con un enlace de redireccionamiento a otro sitio, ¿ese otro sitio podría robar la cookie de inicio de sesión de mi usuario? ¿Es posible ejecutar javascript arbitrario en mi sitio con este enfoque?
Gracias , MJB. ¿Podrías ser un poco más específico? y ¿cuáles son las cosas que puedo hacer para evitar este tipo de ataques XSS o división de encabezados? –
La mejor cura es, por supuesto, no permitir la entrada proporcionada por el usuario. En su defecto, la validación de entrada y salida es muy importante. No permita cosas como & =% # < > '". En general, prefiera una estrategia WHITELIST: solo se deben permitir los caracteres que DEBEN ser permitidos. Sin embargo, esto es difícil de aplicar en un real - situación mundial con las URL, debido a que algunos de estos caracteres deben aplicarse. En este caso, las bibliotecas de verificación y canonización de URL son útiles. Se recomienda especialmente leer la información de http://www.owasp.org sobre división de respuestas, XSS y CSRF –
MJB