Definición de redireccionamiento
En la vasta galaxia de la ciberseguridad, el recorrido web es una herramienta crucial. Esta herramienta, también conocida como redirección web, opera remitiendo a los internautas de una URL a otra de manera automática. Esta operación mejora la navegación online al permitir la reubicación eficiente de contenido web, orientar a los internautas por rutas específicas o incluso redireccionarlos hacia plataformas distintas.
Clasificación de las Redirecciones
En función de su aplicación, las redirecciones web pueden agruparse en distintas categorías populares como:
-
Redirecciones HTTP: Se distinguen por su capacidad para reubicar a los internautas en diferentes áreas de la web. Funcionan desde el servidor y sirven para transmitir información a destinos previamente desconocidos o reubicar a los usuarios en una plataforma distinta.
-
Redirecciones de JavaScript: Estas operan desde el cliente, dirigiendo a los internautas a otra página dentro de la misma aplicación online. Aunque son menos recurrentes en comparación a las redirecciones HTTP, siguen siendo aplicadas pillarmente en distintas aplicaciones digitales.
-
Redirecciones de Meta Refresh: Estas redirecciones son llevadas a cabo a través del HTML, al recargar una página después de un intervalo de tiempo predefinido. Podrían no ser tan reconocidas como las redirecciones HTTP o JavaScript, pero aún hay websites que prefieren su uso.
Caso de Redirección
Para ilustrar mejor el modus operandi de una redirección, imagine la siguiente situación hipotética: Posees una página web con el URL "www.mipágina.com" y decides reubicar tu contenido a "www.mipáginanueva.com". Para garantizar que cualquier visitante que ingrese a la URL antigua sea dirigido a la nueva, estableces una redirección HTTP. Así, cuando un usuario intenta ingresar a "www.mipágina.com", el servidor identifica la redirección y redirige automáticamente al usuario a "www.mipáginanueva.com".
En resumen, las redirecciones son herramientas esenciales en la navegación online. Además de permitir la reubicación de contenido, guían a los internautas por rutas específicas. Sin embargo, un uso incorrecto de estas puede hacerlas blanco de criminales cibernéticos, y por ende, puede terminar en fallas de tipo redirección abierta.
¿Qué es una redirección abierta?

La vulnerabilidad denominada Redirección Abierta, o en inglés "Open Redirect Vulnerability, se presenta en aplicativos web generando un riesgo de seguridad considerado de alta importancia. Ello concede a los atacantes cibernéticos el poder reorientar a los usuarios hacia sitios web hostiles sin su previo acuerdo. Este suceso se desencadena por la falta de validación en los parámetros URL por parte de la aplicación web, permitiendo el redireccionamiento a páginas web externas.
Para entender esta vulnerabilidad, es imprescindible revisar el proceso de redirección. Cuando accedes a una página web, tu navegador manda una petición al servidor del sitio web. Este responde con una serie de códigos de estado HTTP, entre los cuales se puede encontrar el código de redirección, este indica que el navegador debe desplazarse a otra URL.
En el caso de la Redirección Abierta, el atacante podría adulterar la URL de redirección para llevar a los usuarios a un sitio web hostil. Esto se realiza frecuentemente a través de un parámetro URL que se entiende que debe contener una URL de redirección. Si la aplicación web falla en la validación de este parámetro, el agresor podría inyectar su propia URL hostil.
Por ejemplo, si tienes una aplicación web con una URL tipo: https://ejemplo.com/redireccion?url=https://sitioseguro.com. Un ciberdelicuente podría modificar la URL de esta forma: https://ejemplo.com/redireccion?url=https://sitioinseguro.com. En caso de falla en la validación del parámetro url, el usuario se desplazará al sitio peligroso.
El impacto de una Redirección Abierta puede ser muy perjudicial. Esta vulnerabilidad puede ser explotada para efetuar distintos tipos de ataques, incluyendo:
-
Phishing: Los ciberdelincuentes podrían reorientar a los usuarios hacia páginas web que semejan legítimas con la finalidad de sustraer información personal o detalles de inicio de sesión.
-
Malware: Los atacantes podrían direccionar a los usuarios a sitios web que instalan de forma automática malware en sus dispositivos.
-
Desprestigio: Los cibercriminales pueden redirigir usuarios a sitios web con contenido ofensivo o inapropiado, manchando la reputación del sitio web original.
En resumen, la Redirección Abierta es una vulnerabilidad considerable que puede conceder el poder a los ciberdelicuentes de redirigir a los usuarios a sitios web hostiles. Es imprescindible que los aplicativos web verifiquen meticulosamente todos los parámetros URL para prevenir este tipo de ataque.
`
`
Los tipos
Existe una variedad de inseguridades referidas como brechas de redirección abierta, cada una de ellas posee características y posible daños propios. A continuación, desglosaremos las más usuales:
1. Revire Metodizado
En esta vulnerabilidad, la dirección de redirección es transmitida como un elemento dentro de la petición URL. Un potencial ciberdelincuente puede alterar la URL para desviar a los internautas hacia un sitio web perjudicial.
Ejemplo de programa:
https://demostracion.com/revire.php?url=https://sitio-nocivo.com
2. Redirección a partir del Antetítulo de la Petición

Aquí, la dirección de redirección es expedida a través del antetítulo HTTP de la solicitud. Esta vulnerabilidad puede ser más desafiante para explotar, pero también para identificar y neutralizar.
Ejemplo de programa:
GET / HTTP/1.1
Host: demostracion.com
Referer: https://sitio-nocivo.com
3. Revire Basado en el Cuadro de la Solicitud
En este contexto, la dirección de redirección forma parte del cuadro de la solicitud HTTP. Esta vulnerabilidad puede ser especialmente amenazante si el portal web no inspecciona adecuadamente el contenido del cuadro de la solicitud.
Ejemplo de programa:
POST /revire.php HTTP/1.1
Host: demostracion.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 43
url=https://sitio-nocivo.com
4. Redirección Asentada en Cookies
En este tipo de brecha, la dirección de redirección es conservada en una cookie. Si el ciberdelincuente es capaz de alterar las cookies de un internauta, puede desviar a este hacia un portal web perjudicial.
Ejemplo de programa:
Set-Cookie: url=https://sitio-nocivo.com; Path=/; Expires=Wed, 09 Jun 2021 10:18:14 GMT
Cada una de estas brechas de redirección abierta puede ser manipulada de distintas formas por delincuentes virtuales. Por ello, es esencial incorporar medidas de seguridad efectivas para impedir estos tipos de ataques.
Formas en que los actores de amenazas podrían utilizar los redireccionamientos abiertos
Expertos en ciberseguridad han identificado diversas formas en que los criminales cibernéticos podrían explotar las brechas de seguridad conocidas como "redirecciones abiertas". Las tácticas más empleadas se pueden clasificar en tres categorías principales: Phishing y Spoofing, Inyección de Código y Ataques de Intercepción o 'Man in the Middle'.
Engaños Digitales y Falsificaciones (Phishing y Spoofing)
Los delincuentes online suelen disfrazar enlaces maliciosos como legítimos utilizando redirecciones abiertas. Por ejemplo, podrían enviar un correo falso que parece provenir de un banco solicitando al receptor que inicie sesión para confirmar ciertos detalles de su cuenta. El enlace proporcionado parece auténtico pero lleva al receptor a un sitio no seguro controlado por el criminal, donde se recolectan los datos de inicio de sesión.
Inserción de Códigos Maliciosos
Los ciberdelincuentes también pueden incrustar códigos dañinos en la URL que se activará una vez se redirija al usuario. Esto permite al criminal realizar diversas acciones, desde robo de datos hasta controlar completamente el dispositivo del usuario. Por ejemplo, podrían incrustar un script de "cross-site scripting" (XSS) en la URL. Una vez se redirija al usuario, el script se activa, otorgando al criminal acceso a información del usuario como cookies y sesiones.
Ataques de Intercepción (Hombre en el Medio)
En estos ataques, el ciberdelincuente se posiciona entre el usuario y el sitio que pretende acceder, teniendo la capacidad de interceptar y potencialmente alterar la comunicación. Por ejemplo, podrían redirigir al usuario a un servidor proxy controlado por ellos. Esto les permite monitorizar todas las comunicaciones entre el usuario y el sitio web, obteniendo potencialmente información sensible como contraseñas y números de tarjetas de crédito.
Las brechas de seguridad como las redirecciones abiertas son una poderosa arma para los ciberdelincuentes si no se corrigen y se gestionan adecuadamente. Las empresas deben tomar medidas proactivas para identificar y corregir estas vulnerabilidades para proteger a sus usuarios y salvaguardar su información.
Medidas para evitar redirecciones abiertas
Mantener a raya las redirecciones no deseadas es crucial para salvaguardar la integridad de tu página web y ofrecer un entorno seguro a tus visitantes. Aquí presentamos algunas estrategias efectivas para mitigar los riesgos asociados con las redirecciones no seguras.
Establece Validaciones para las Direcciones URL
Tu principal estrategia de combate frente a las redirecciones no deseadas debe ser establecer comprobaciones de URL. Esto implica que tu plataforma web debe analizar cuidadosamente todas las direcciones URL antes de realizar cualquier redirección. Si alguna URL no supera esta comprobación, la redirección debe bloquearse.
Para establecer este tipo de validaciones, puedes utilizar un compendio de URLs seguras y permitidas, las cuales tu website puede redirigir de manera confiable. Si alguna URL no está en este compendio, la redirección a la misma debe ser denegada.
Incluye el Uso de Fichas Seguras
Un complemento esencial a tu blindaje de seguridad puede ser el uso de fichas seguras. Este tipo de ficha es un código aleatorio generado específicamente para cada sesión individual de usuario. Este código se acopla a la URL de redirección, y se somete a verificación por el servidor antes de aceptar la redirección.
Implementar fichas de seguridad puede ser eficaz para desbaratar las redirecciones indebidas, dado que un invasor tendría que conocer este código para formular una URL de redirección que funcione. Sin este código, el servidor rechazará la URL de redirección propuesta.
Descarta Redirecciones Basadas en Inserciones del Usuario
Una práctica que suele dar cabida a desvíos no deseados es permitir que las redirecciones se fundamenten en las inserciones del usuario. Esto puede convertirse en una amenaza, ya que un invasor podría manipular estas inserciones para fabricar una URL de redirección maligna.
Para eludir esto, proscribe el uso de datos suministrados por el usuario para formular la URL de redirección. En su reemplazo, utiliza un valor preestablecido o determinado por el servidor para dirigir a donde debe ser redirigido el usuario.
Mantén al Día Actualizaciones y Parches
Es imprescindible que actualices regularmente tu plataforma web y su software. Los invasores suelen aprovechar fallas detectadas en programas desactualizados, por lo que tener a tu software al día puede ser una medida eficiente contra las redirecciones indebidamente ejecutadas.
Para finalizar, frenar las redirecciones indebidas requiere de establecer comprobaciones de URL, utilizar fichas de seguridad, prohibir redirecciones basadas en inserciones de usuarios y mantener tu programa debidamente actualizado. Con estas estrategias, puedes contribuir a salvaguardar tu plataforma web y ofrecer un entorno seguro a tus visitantes.
`
`
FAQ
Vamos a desglosar en detalle cuestiones claves y respuestas sobre las fallas de Open Redirect.
¿En qué consiste la falla de Open Redirect?
La falla de Open Redirect o redirección abierta se refiere a una debilidad de seguridad en aplicaciones web que permite a un intruso redirigir a un usuario hacia un portal de internet externo o incluso perjudicial. Este mecanismo se emplea para confundir al usuario, dándole la sensación errónea de estar navegando en un portal auténtico, mientras, en realidad, puede estar en un dominio perjudicial.
¿Cómo se produce la falla de Open Redirect?
La falla de Open Redirect se manifiesta mediante el mal uso del mecanismo de redirección de una aplicación web. Si un usuario clickea en un hipervínculo que le debe llevar a otra página del mismo portal de internet, un intruso podrá interferir en el hipervínculo para que la redirección se haga hacia un dominio distinto.
¿Existen clases distintas de fallas de Open Redirect?
Principalmente, se reconocen dos clases de fallas de Open Redirect: las redirecciones impulsadas por el servidor y las redirecciones impulsadas por el cliente. En las primeras, es el servidor web quien ejecuta la redirección, mientras que en las segundas, es el navegador web del usuario quien lo hace.
¿De qué manera los delincuentes cibernéticos utilizan la falla de Open Redirect?
Los delincuentes cibernéticos pueden utilizar la falla de Open Redirect con la finalidad de perpetrar varias formas de ataque, entre ellos, el phishing, el robo de credenciales, y la propagación de malware. A modo de ejemplo, un delincuente cibernético puede usar una redirección abierta para engañar a un usuario haciéndole creer que está introduciendo sus credenciales en un portal auténtico, cuando en realidad las está introduciendo en un dominio controlado por el delincuente.
¿Cómo se puede mitigar la falla de Open Redirect?
La mitigación de la falla de Open Redirect requiere un conjunto de medidas de seguridad que comprenden la validación de ingresos, la codificación de egresos, y el uso de listas seguras de redirecciones. Es vital mantener parcheadas las aplicaciones web y seguir las mejores prácticas de seguridad para el desarrollo de aplicaciones web.
¿Qué sería una lista segura de redirecciones?
Una lista segura de redirecciones es un repertorio de direcciones de internet a las cuales se le permite a los usuarios la redirección. Esta lista permitirá a la aplicación web asegurarse de que los usuarios no sean redirigidos a dominios peligrosos o no deseados.
¿Cómo se podría identificar la falla de Open Redirect?
La identificación de la falla de Open Redirect puede implicar una combinación de pruebas manuales y automáticas. Las pruebas manuales pueden implicar la manipulación de los parámetros de dirección de internet para observar si es posible redirigir a un usuario a un portal de internet externo, mientras que las pruebas automáticas pueden incluir el uso de herramientas de exploración de seguridad que buscan patrones usuales en fallas de Open Redirect.
References
Al ahondar en la problemática de las lagunas de protección por redireccionamientos no controlados, te propongo revisar:
-
El informe publicado por el proyecto global OWASP (Open Web Application Security Project) durante 2020, el cual detalla los Redireccionamientos y Reenvíos no Validados. Revísalo para enriquecerte con su perspectiva especializada en https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html.
-
Un estudio exhaustivo sobre las vulnerabilidades por redireccionamientos abiertos está disponible gracias al informe 2020 de PortSwigger en https://portswigger.net/web-security/open-redirection. El mismo revela detalladamente cómo los criminales digitales pueden explotar estos vacíos de protección, proporcionando una visión ejemplar de estas técnicas.
-
Si te causa inquietud conocer el grado de penetración de los redireccionamientos HTTP en la web, explora https://w3techs.com/technologies/overview/http_redirect. Ahí encontrarás datos actualizados suministrados por W3Techs, facilitando la comprensión de la importancia de blindarte ante las fallas de protección por redirección abierta.
-
Para entender en profundidad la operatividad tras los redireccionamientos HTTP, te aconsejamos que visites la Red de Desarrolladores de Mozilla en https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections. Vas a encontrarte con datos precisos y modelos prácticos que harán más accesible la comprensión de esta problemática de seguridad digital.
-
Explora las tácticas implementadas por Google para proteger a sus usuarios de redirecciones no seguras, explorando su blog oficial de seguridad del 2018 https://security.googleblog.com/2018/01/protecting-users-from-insecure.html. Esta herramienta te permitirá entender la forma en que las grandes corporaciones abordan las lagunas de seguridad por redireccionamientos abiertos.
-
Finalmente, repasa el documento técnico RFC 7231, sección 6.4, que te proporcionará un embasamento firme acerca de los códigos de estado de redireccionamiento HTTP en https://tools.ietf.org/html/rfc7231#section-6.4.
Estos documentos te otorgarán un entendimiento completo del tema, abarcando desde su concepción detallada, variantes, aplicación por ciberpiratas y estrategias efectivas de prevención. Para un mayor provecho, te sugerimos dedicar tiempo a cada uno.
