Blog

Programadores que conquistan la seguridad: Serie de aprendizaje y colaboración - Redirecciones y reenvíos no validados

May 23, 2019
Jaap Karan Singh

Programar un sitio web o una aplicación con la capacidad de procesar redirecciones y reenvíos no validados puede ser extremadamente peligroso tanto para sus usuarios como para su organización. Este error común suele ser aprovechado por piratas informáticos que buscan perpetrar estafas de phishing o acceder a páginas e información que normalmente estarían restringidas.

Siempre que una aplicación web esté diseñada para reenviar a los usuarios a nuevas páginas, existe el peligro de que dichas 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 las redirecciones y los reenvíos no validados son una de las vulnerabilidades más fáciles de eliminar de su entorno. Una vez eliminados, puede seguir unos sencillos pasos para asegurarse de que nunca se generen en el futuro.

En este episodio, aprenderemos:

  • Cómo los piratas informáticos explotan las vulnerabilidades de redirección y reenvío no validados
  • Por qué permitir redirecciones y reenvíos no validados puede ser peligroso
  • Políticas y técnicas que se pueden emplear para encontrar y solucionar este problema.

¿Cómo explotan los atacantes las redirecciones y los reenvíos no validados?

Los atacantes primero deben encontrar una aplicación web configurada para reenviar a los usuarios a una o varias páginas específicas. Si la página de destino está definida en el código, no existe vulnerabilidad. Por ejemplo, en Java, esta sería una forma segura y predefinida de enviar a un usuario a una nueva ubicación sin requerir que realice ninguna acción, como hacer clic en un hipervínculo.

response.sendRedirect("http://www.knownsafesite.com");

La vulnerabilidad ocurre si el sitio está programado para aceptar la entrada del usuario para la redirección, o si el parámetro se deja abierto, tal vez para obtener la información de otra fuente. Por ejemplo, un desarrollador podría usar el parámetro GET "url".

response.sendRedirect(request.getParameter("url"));

Si bien esto brinda más flexibilidad, también crea la vulnerabilidad de redirecciones y reenvíos no validados. Los piratas informáticos pueden agregar información después de las barras diagonales para activar una redirección al sitio que elijan, tal vez como parte de un correo electrónico de phishing. Los usuarios ven el dominio confiable en la primera parte de un enlace y no se dan cuenta de que el sitio web puede reenviarlos al sitio del atacante.

¿Por qué son tan peligrosas las redirecciones y los reenvíos no validados?

El peligro que supone permitir redirecciones y reenvíos no validados puede ser significativo. Para los usuarios, el mayor peligro es que pueden convertirse en víctimas de ataques de phishing. Debido a que ven la URL de nivel superior, es más probable que confíen en un correo electrónico de phishing u otra comunicación y hagan clic en un enlace. Y si la página a la que son redirigidos parece la página real, el engaño puede ser bastante efectivo. Podrían compartir su nombre de usuario, contraseñas u otras credenciales sin sospechar nunca que están siendo manipulados.

Eliminación de la amenaza que representan las redirecciones y los reenvíos no validados

Las redirecciones y los reenvíos no validados surgen mientras se desarrolla una aplicación. Se pueden eliminar a posteriori, pero la forma más fácil de eliminarlos es simplemente no permitir parámetros de usuario o cadenas abiertas como parte de ninguna función de redirección o reenvío desde el principio. En su lugar, defina estrictamente las URL a las que se reenviará a los usuarios, eliminando variables y negando a los atacantes espacio para maniobrar. Mejor aún, considere no utilizar redirecciones ni reenvíos en absoluto.

Si no hay forma de evitar tener variables como parte de un proceso de redirección o reenvío, entonces debe implementarse un proceso de validación para garantizar que la redirección se dirija a uno de los destinos válidos establecidos. Finalmente, utilice valores de mapeo en lugar de URL reales. Los piratas informáticos intentarán utilizar información de la URL y probablemente no podrán adivinar el esquema de mapeo, incluso si sospechan que se está utilizando uno.

Más información sobre redirecciones y reenvíos no validados

Para seguir leyendo, puede consultar las páginas de referencia de OWASP sobre redirecciones y reenvíos no validados. También puede poner a prueba sus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior, que entrena a los equipos de ciberseguridad para convertirse en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y una galería de otras amenazas, visite el blog de Secure Code Warrior.

Soluciona de una vez por todas las redirecciones y reenvíos no validados. Aplica tus nuevos conocimientos y pon a prueba tus habilidades en nuestra plataforma de formación gamificada: [Empieza aquí]

Eslogan

Controle el desarrollo impulsado por IA antes de su lanzamiento

Mida el riesgo asistido por IA, aplique políticas de codificación segura en el momento de la confirmación y acelere la entrega segura en todo su ciclo de vida de desarrollo de software (SDLC).

Reservar una demostración
Biblioteca de recursos

Explorar más blogs

Acceda a contenido especializado sobre programación segura, gobernanza de IA y gestión de riesgos de software.

ver todo
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Una cultura de seguridad: cómo Sage creó su programa de defensores

Descubre cómo Sage reforzó su seguridad con un enfoque flexible y centrado en las relaciones, logrando formar a más de 200 expertos en seguridad y alcanzar una reducción de riesgos cuantificable.

Más información
Icono de ventana de navegador con las letras KVK en negrita y dos líneas horizontales azules debajo sobre un fondo azul degradado.
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Kamer van Koophandel: Seguridad a escala impulsada por los desarrolladores

La Cámara de Comercio (Kamer van Koophandel) comparte cómo integró la programación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de puntuación de confianza y una cultura de responsabilidad compartida en seguridad.

Más información
Logotipo de Insurance Australia Group con texto y un icono en azul y gris dentro del diseño de una ventana de navegador web.
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Cómo un «Juego de Códigos» guía a IAG Group hacia un futuro de programación más seguro

IAG Group es la entidad detrás de muchas de las principales compañías de seguros en la región de Asia-Pacífico, que suscribe pólizas para millones de clientes por un valor aproximado de 11.400 millones de dólares australianos en primas anuales.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Mes de la Concienciación sobre Ciberseguridad 2026: Comprender la seguridad de la IA es fundamental para la defensa empresarial

Hemos llegado a un punto en el que la mayoría de las principales empresas de IA han pedido públicamente una ralentización global en el desarrollo de la IA para que las medidas de seguridad puedan ponerse al día, pero la verdad es que ya se han materializado graves problemas de seguridad. Esto deja a innumerables líderes de seguridad y equipos ejecutivos en una situación urgente, a medida que los costes monetarios y de riesgo de la implementación de la IA siguen acumulándose.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Habilitador 8: Branding de su programa

Un programa de codificación segura necesita algo más que un buen contenido para tener éxito. El Habilitador 8 muestra cómo el branding transforma la participación en una experiencia codiciada basada en el estatus.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Cada empleado está ahora en la primera línea de la ciberseguridad de la IA

El panorama tecnológico empresarial está cambiando a una velocidad que pocos previeron hasta que fue demasiado tarde. Hemos cruzado oficialmente el umbral del código escrito por humanos y la asistencia básica de copilotos hacia la era del Ciclo de Vida de Desarrollo Agéntico (ADLC). Si bien los agentes de IA autónomos prometen una eficiencia sin precedentes en múltiples funciones, también traen consigo una clase completamente nueva de riesgos regulatorios y de seguridad.

Más información

Proteja el desarrollo basado en IA antes de su lanzamiento

Identifique riesgos de desarrollo, aplique políticas y prevenga vulnerabilidades en todo el ciclo de vida de su software.

Reservar una demostración
No se encontraron elementos.