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.