Los codificadores conquistan la seguridad: serie Share & Learn: redireccionamientos y reenvíos no validados

Codificar un sitio web o una aplicación con la capacidad de procesar redireccionamientos y reenvíos no validados puede ser extremadamente peligroso tanto para los usuarios como para la organización. Los piratas informáticos suelen aprovechar este error común para perpetrar estafas de suplantación de identidad o para acceder a páginas e información que normalmente estarían restringidas.
Siempre que una aplicación web está diseñada para redirigir a los usuarios a páginas nuevas, existe el peligro de que esas solicitudes puedan ser manipuladas o secuestradas. Esto puede ocurrir si no existe un proceso de validación para evitar que los parámetros de reenvío apunten a destinos no deseados.
La buena noticia es que los redireccionamientos y reenvíos no validados son una de las vulnerabilidades más fáciles de eliminar de su entorno. Una vez eliminadas, puede tomar algunas medidas sencillas para asegurarse de que nunca se generen en el futuro.
En este episodio, aprenderemos:
- Cómo los piratas informáticos explotan las vulnerabilidades de redireccionamiento y reenvío no validadas
- Por qué permitir redireccionamientos y reenvíos no validados puede ser peligroso
- Políticas y técnicas que pueden emplearse para encontrar y solucionar este problema.
¿Cómo aprovechan los atacantes los redireccionamientos y reenvíos no validados?
Los atacantes primero deben encontrar una aplicación web que esté configurada para reenviar a los usuarios a una página o páginas específicas. Si la página de destino está definida en el código, no hay ninguna vulnerabilidad. Por ejemplo, en Java, esta sería una forma segura y predefinida de enviar a un usuario a una nueva ubicación sin que tuviera que realizar ninguna acción, como hacer clic en un hipervínculo.
response.sendRedirect (» http://www.knownsafesite.com «);
La vulnerabilidad se produce si el sitio está programado para aceptar la entrada del usuario para la redirección, o si el parámetro se deja abierto, quizás para obtener la información de otra fuente. Por ejemplo, un desarrollador podría usar el parámetro «url'Get».
response.sendRedirect (request.getParameter («url»));
Si bien esto brinda más flexibilidad, también crea la vulnerabilidad de redireccionamientos y reenvíos no validados. Los piratas informáticos pueden añadir información después de las barras diagonales para redirigir al sitio que elijan, tal vez como parte de un correo electrónico de suplantación de identidad. Los usuarios ven el dominio de confianza en la primera parte de un enlace y no se dan cuenta de que el sitio web puede redirigirlos al sitio del pirata informático.
¿Por qué son tan peligrosos los redireccionamientos y reenvíos no validados?
El peligro que representa permitir redireccionamientos y reenvíos no validados puede ser significativo. Para los usuarios, el mayor peligro es que pueden convertirse en víctimas de ataques de suplantación de identidad. Como ven la URL de nivel superior, es más probable que confíen en un correo electrónico de suplantación de identidad u otro tipo de comunicación y hagan clic en un enlace. Y si la página a la que son redirigidos se parece a la página real, el engaño puede resultar bastante eficaz. Pueden compartir su nombre de usuario, contraseñas u otras credenciales y nunca sospechar que están siendo manipulados.
Eliminar la amenaza que representan los redireccionamientos y reenvíos no validados
Los redireccionamientos y reenvíos no validados comienzan mientras se desarrolla una aplicación. Se pueden eliminar a posteriori, pero la forma más sencilla de eliminarlos es simplemente no permitir que los parámetros de usuario ni las cadenas abiertas formen parte de ninguna función de redireccionamiento o reenvío. En su lugar, defina estrictamente las URL a las que se redirigirán los usuarios, eliminando las variables y negando a los atacantes el margen de maniobra. Mejor aún, considera la posibilidad de no utilizar redireccionamientos y reenvíos en absoluto.
Si no hay absolutamente ninguna forma de evitar tener variables como parte de un proceso de redireccionamiento o reenvío, se debe implementar un proceso de validación para garantizar que la redirección vaya a uno de un conjunto de destinos válidos. Por último, usa valores de mapeo en lugar de direcciones URL reales. En su lugar, los piratas informáticos intentarán utilizar la información de la URL y es probable que no puedan adivinar el esquema de mapeo, incluso si sospechan que uno está en uso.
Más información sobre redireccionamientos y reenvíos no validados
Para leer más, puede echar un vistazo al OWASP páginas de referencia en redireccionamientos y reenvíos no validados. También puedes poner a prueba tus nuevos conocimientos defensivos con el demo gratuita de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.
Ocúpate de los redireccionamientos y reenvíos no validados de una vez por todas. Aplica tus nuevos conocimientos y pon a prueba tus habilidades en nuestra plataforma de formación gamificada: [Empieza aquí]
Govern AI-driven development before it ships
Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.
Explore more blogs
Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

One Culture of Security: How Sage built their security champions program with agile secure code learning
Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

Post-Quantum Cryptography: Quantum Computers Will Break Today’s Encryption – Are You Ready?
Post-quantum cryptography (PQC) is critical for protecting data from quantum computing threats. Learn how “harvest now, decrypt later” exposes risk and how developers can prepare for quantum-safe security.

Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI
While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.
Secure AI-driven development before it ships
See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.