Redirecciones y reenvíos no validados
La mayoría de las aplicaciones web en Internet redireccionan y reenvían a los usuarios con frecuencia a otras páginas u otros sitios web externos. Sin embargo, sin validar la credibilidad de esas páginas, los piratas informáticos pueden redirigir a las víctimas a sitios de phishing o malware, o utilizar reenvíos para acceder a páginas no autorizadas.
Comprendamos los agentes de amenazas, los vectores de ataque, la debilidad de la seguridad, el impacto técnico y los impactos comerciales de esta falla con la ayuda de un diagrama simple.
Ejemplo
Algunos ejemplos clásicos de redirecciones y reenvíos no validados son los siguientes:
Digamos que la aplicación tiene una página - redirect.jsp, que toma un parámetro redirectrul . El hacker agrega una URL maliciosa que redirige a los usuarios que realizan phishing / instalan malware.
http://www.mywebapp.com/redirect.jsp?redirectrul=hacker.com
Toda la aplicación web utilizada para reenviar a los usuarios a diferentes partes del sitio. Para lograr lo mismo, algunas páginas utilizan un parámetro para indicar a dónde se debe redirigir al usuario si una operación tiene éxito. El atacante crea una URL que pasa la verificación de control de acceso de la aplicación y luego reenvía al atacante a la funcionalidad administrativa para la cual el atacante no tiene acceso.
http://www.mywebapp.com/checkstatus.jsp?fwd=appadmin.jsp
Mecanismos preventivos
Es mejor evitar el uso de redireccionamientos y reenvíos.
Si es inevitable, debe hacerse sin involucrar a los parámetros del usuario en la redirección del destino.