Los codificadores conquistan la seguridad: Share & Learn Series - Redirecciones 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 sus usuarios como para su organización. Este error común suele ser aprovechado por los hackers que buscan perpetrar estafas de phishing, o para obtener acceso a páginas e información que normalmente estaría restringida.
Siempre que una aplicación web está diseñada para reenviar a los usuarios a nuevas páginas, existe el peligro de que esas peticiones puedan ser manipuladas o secuestradas. Esto puede ocurrir si no hay 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, puedes tomar unos sencillos pasos para asegurarte de que nunca se generen en el futuro.
En este episodio, aprenderemos:
- Cómo aprovechan los hackers las vulnerabilidades de redirección 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 deben encontrar primero 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 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 tenga 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, tal vez para obtener la información de otra fuente. Por ejemplo, un desarrollador podría utilizar el parámetro "url'GET".
response.sendRedirect(request.getParameter("url"));
Aunque esto da más flexibilidad, también crea la vulnerabilidad de las redirecciones y reenvíos no validados. Los hackers pueden añadir información después de las barras de reenvío para activar una redirección a cualquier sitio que elijan, quizás como parte de un correo electrónico de phishing. 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 hacker.
¿Por qué son tan peligrosos los redireccionamientos y reenvíos no validados?
El peligro que supone permitir redireccionamientos y reenvíos no validados puede ser importante. Para los usuarios, el mayor peligro es que pueden ser víctimas de ataques de phishing. Como ven la URL de nivel superior, es más probable que confíen en un correo electrónico u otra comunicación de phishing y hagan clic en un enlace. Y si la página a la que se les redirige se parece a la página real, el engaño puede ser bastante eficaz. Podrían compartir su nombre de usuario, contraseñas u otras credenciales y nunca sospechar que están siendo manipulados.
Eliminación de la amenaza que suponen los redireccionamientos y reenvíos no validados
Las redirecciones y reenvíos no validados comienzan a existir mientras se desarrolla una aplicación. Pueden ser eliminados después, pero la forma más fácil de eliminarlos es simplemente no permitir parámetros de usuario o cadenas abiertas como parte de cualquier función de redirección o reenvío en primer lugar. En su lugar, defina estrictamente las direcciones URL a las que serán redirigidos los usuarios, eliminando las variables y negando a los atacantes el margen de maniobra. Mejor aún, considere la posibilidad de no utilizar redireccionamientos y reenvíos en absoluto.
Si no hay absolutamente ninguna manera de evitar tener variables como parte de un proceso de redirección o reenvío, entonces debe haber un proceso de validación establecido para asegurar que la redirección va a uno de un conjunto de destinos válidos. Por último, utilice valores de mapeo en lugar de URLs reales. Los hackers tratarán de utilizar la información de la URL, y probablemente no serán capaces de adivinar el esquema de mapeo incluso si sospechan que se está utilizando uno.
Más información sobre redireccionamientos y reenvíos no validados
Para más información, puedes echar un vistazo a las páginas de referencia de OWASP sobre redireccionamientos y reenvíos no validados. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .
Ocúpese de una vez por todas de los redireccionamientos y reenvíos no validados. Aplique sus nuevos conocimientos y ponga a prueba sus habilidades en nuestra plataforma de formación gamificada: [Comience aquí]
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 sus usuarios como para su organización.
Jaap Karan Singh es un evangelista de la codificación segura, jefe Singh y cofundador de Secure Code Warrior.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónJaap Karan Singh es un evangelista de la codificación segura, jefe Singh y cofundador de Secure Code Warrior.
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 sus usuarios como para su organización. Este error común suele ser aprovechado por los hackers que buscan perpetrar estafas de phishing, o para obtener acceso a páginas e información que normalmente estaría restringida.
Siempre que una aplicación web está diseñada para reenviar a los usuarios a nuevas páginas, existe el peligro de que esas peticiones puedan ser manipuladas o secuestradas. Esto puede ocurrir si no hay 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, puedes tomar unos sencillos pasos para asegurarte de que nunca se generen en el futuro.
En este episodio, aprenderemos:
- Cómo aprovechan los hackers las vulnerabilidades de redirección 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 deben encontrar primero 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 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 tenga 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, tal vez para obtener la información de otra fuente. Por ejemplo, un desarrollador podría utilizar el parámetro "url'GET".
response.sendRedirect(request.getParameter("url"));
Aunque esto da más flexibilidad, también crea la vulnerabilidad de las redirecciones y reenvíos no validados. Los hackers pueden añadir información después de las barras de reenvío para activar una redirección a cualquier sitio que elijan, quizás como parte de un correo electrónico de phishing. 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 hacker.
¿Por qué son tan peligrosos los redireccionamientos y reenvíos no validados?
El peligro que supone permitir redireccionamientos y reenvíos no validados puede ser importante. Para los usuarios, el mayor peligro es que pueden ser víctimas de ataques de phishing. Como ven la URL de nivel superior, es más probable que confíen en un correo electrónico u otra comunicación de phishing y hagan clic en un enlace. Y si la página a la que se les redirige se parece a la página real, el engaño puede ser bastante eficaz. Podrían compartir su nombre de usuario, contraseñas u otras credenciales y nunca sospechar que están siendo manipulados.
Eliminación de la amenaza que suponen los redireccionamientos y reenvíos no validados
Las redirecciones y reenvíos no validados comienzan a existir mientras se desarrolla una aplicación. Pueden ser eliminados después, pero la forma más fácil de eliminarlos es simplemente no permitir parámetros de usuario o cadenas abiertas como parte de cualquier función de redirección o reenvío en primer lugar. En su lugar, defina estrictamente las direcciones URL a las que serán redirigidos los usuarios, eliminando las variables y negando a los atacantes el margen de maniobra. Mejor aún, considere la posibilidad de no utilizar redireccionamientos y reenvíos en absoluto.
Si no hay absolutamente ninguna manera de evitar tener variables como parte de un proceso de redirección o reenvío, entonces debe haber un proceso de validación establecido para asegurar que la redirección va a uno de un conjunto de destinos válidos. Por último, utilice valores de mapeo en lugar de URLs reales. Los hackers tratarán de utilizar la información de la URL, y probablemente no serán capaces de adivinar el esquema de mapeo incluso si sospechan que se está utilizando uno.
Más información sobre redireccionamientos y reenvíos no validados
Para más información, puedes echar un vistazo a las páginas de referencia de OWASP sobre redireccionamientos y reenvíos no validados. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .
Ocúpese de una vez por todas de los redireccionamientos y reenvíos no validados. Aplique sus nuevos conocimientos y ponga a prueba sus habilidades en nuestra plataforma de formación gamificada: [Comience aquí]
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 sus usuarios como para su organización. Este error común suele ser aprovechado por los hackers que buscan perpetrar estafas de phishing, o para obtener acceso a páginas e información que normalmente estaría restringida.
Siempre que una aplicación web está diseñada para reenviar a los usuarios a nuevas páginas, existe el peligro de que esas peticiones puedan ser manipuladas o secuestradas. Esto puede ocurrir si no hay 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, puedes tomar unos sencillos pasos para asegurarte de que nunca se generen en el futuro.
En este episodio, aprenderemos:
- Cómo aprovechan los hackers las vulnerabilidades de redirección 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 deben encontrar primero 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 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 tenga 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, tal vez para obtener la información de otra fuente. Por ejemplo, un desarrollador podría utilizar el parámetro "url'GET".
response.sendRedirect(request.getParameter("url"));
Aunque esto da más flexibilidad, también crea la vulnerabilidad de las redirecciones y reenvíos no validados. Los hackers pueden añadir información después de las barras de reenvío para activar una redirección a cualquier sitio que elijan, quizás como parte de un correo electrónico de phishing. 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 hacker.
¿Por qué son tan peligrosos los redireccionamientos y reenvíos no validados?
El peligro que supone permitir redireccionamientos y reenvíos no validados puede ser importante. Para los usuarios, el mayor peligro es que pueden ser víctimas de ataques de phishing. Como ven la URL de nivel superior, es más probable que confíen en un correo electrónico u otra comunicación de phishing y hagan clic en un enlace. Y si la página a la que se les redirige se parece a la página real, el engaño puede ser bastante eficaz. Podrían compartir su nombre de usuario, contraseñas u otras credenciales y nunca sospechar que están siendo manipulados.
Eliminación de la amenaza que suponen los redireccionamientos y reenvíos no validados
Las redirecciones y reenvíos no validados comienzan a existir mientras se desarrolla una aplicación. Pueden ser eliminados después, pero la forma más fácil de eliminarlos es simplemente no permitir parámetros de usuario o cadenas abiertas como parte de cualquier función de redirección o reenvío en primer lugar. En su lugar, defina estrictamente las direcciones URL a las que serán redirigidos los usuarios, eliminando las variables y negando a los atacantes el margen de maniobra. Mejor aún, considere la posibilidad de no utilizar redireccionamientos y reenvíos en absoluto.
Si no hay absolutamente ninguna manera de evitar tener variables como parte de un proceso de redirección o reenvío, entonces debe haber un proceso de validación establecido para asegurar que la redirección va a uno de un conjunto de destinos válidos. Por último, utilice valores de mapeo en lugar de URLs reales. Los hackers tratarán de utilizar la información de la URL, y probablemente no serán capaces de adivinar el esquema de mapeo incluso si sospechan que se está utilizando uno.
Más información sobre redireccionamientos y reenvíos no validados
Para más información, puedes echar un vistazo a las páginas de referencia de OWASP sobre redireccionamientos y reenvíos no validados. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .
Ocúpese de una vez por todas de los redireccionamientos y reenvíos no validados. Aplique sus nuevos conocimientos y ponga a prueba sus habilidades en nuestra plataforma de formación gamificada: [Comience aquí]
Haga clic en el siguiente enlace y descargue el PDF de este recurso.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Ver el informeReservar una demostraciónJaap Karan Singh es un evangelista de la codificación segura, jefe Singh y cofundador de Secure Code Warrior.
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 sus usuarios como para su organización. Este error común suele ser aprovechado por los hackers que buscan perpetrar estafas de phishing, o para obtener acceso a páginas e información que normalmente estaría restringida.
Siempre que una aplicación web está diseñada para reenviar a los usuarios a nuevas páginas, existe el peligro de que esas peticiones puedan ser manipuladas o secuestradas. Esto puede ocurrir si no hay 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, puedes tomar unos sencillos pasos para asegurarte de que nunca se generen en el futuro.
En este episodio, aprenderemos:
- Cómo aprovechan los hackers las vulnerabilidades de redirección 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 deben encontrar primero 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 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 tenga 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, tal vez para obtener la información de otra fuente. Por ejemplo, un desarrollador podría utilizar el parámetro "url'GET".
response.sendRedirect(request.getParameter("url"));
Aunque esto da más flexibilidad, también crea la vulnerabilidad de las redirecciones y reenvíos no validados. Los hackers pueden añadir información después de las barras de reenvío para activar una redirección a cualquier sitio que elijan, quizás como parte de un correo electrónico de phishing. 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 hacker.
¿Por qué son tan peligrosos los redireccionamientos y reenvíos no validados?
El peligro que supone permitir redireccionamientos y reenvíos no validados puede ser importante. Para los usuarios, el mayor peligro es que pueden ser víctimas de ataques de phishing. Como ven la URL de nivel superior, es más probable que confíen en un correo electrónico u otra comunicación de phishing y hagan clic en un enlace. Y si la página a la que se les redirige se parece a la página real, el engaño puede ser bastante eficaz. Podrían compartir su nombre de usuario, contraseñas u otras credenciales y nunca sospechar que están siendo manipulados.
Eliminación de la amenaza que suponen los redireccionamientos y reenvíos no validados
Las redirecciones y reenvíos no validados comienzan a existir mientras se desarrolla una aplicación. Pueden ser eliminados después, pero la forma más fácil de eliminarlos es simplemente no permitir parámetros de usuario o cadenas abiertas como parte de cualquier función de redirección o reenvío en primer lugar. En su lugar, defina estrictamente las direcciones URL a las que serán redirigidos los usuarios, eliminando las variables y negando a los atacantes el margen de maniobra. Mejor aún, considere la posibilidad de no utilizar redireccionamientos y reenvíos en absoluto.
Si no hay absolutamente ninguna manera de evitar tener variables como parte de un proceso de redirección o reenvío, entonces debe haber un proceso de validación establecido para asegurar que la redirección va a uno de un conjunto de destinos válidos. Por último, utilice valores de mapeo en lugar de URLs reales. Los hackers tratarán de utilizar la información de la URL, y probablemente no serán capaces de adivinar el esquema de mapeo incluso si sospechan que se está utilizando uno.
Más información sobre redireccionamientos y reenvíos no validados
Para más información, puedes echar un vistazo a las páginas de referencia de OWASP sobre redireccionamientos y reenvíos no validados. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .
Ocúpese de una vez por todas de los redireccionamientos y reenvíos no validados. Aplique sus nuevos conocimientos y ponga a prueba sus habilidades en nuestra plataforma de formación gamificada: [Comience aquí]
Índice
Jaap Karan Singh es un evangelista de la codificación segura, jefe Singh y cofundador de Secure Code Warrior.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónDescargarRecursos para empezar
Evaluación comparativa de las competencias en materia de seguridad: optimización del diseño seguro en la empresa
El movimiento Secure-by-Design es el futuro del desarrollo de software seguro. Conozca los elementos clave que las empresas deben tener en cuenta cuando piensan en una iniciativa Secure-by-Design.
DigitalOcean reduce su deuda de seguridad con Secure Code Warrior
El uso por parte de DigitalOcean de la formación Secure Code Warrior ha reducido significativamente la deuda de seguridad, permitiendo a los equipos centrarse más en la innovación y la productividad. La mejora de la seguridad ha reforzado la calidad de sus productos y su ventaja competitiva. De cara al futuro, SCW Trust Score les ayudará a seguir mejorando las prácticas de seguridad y a continuar impulsando la innovación.
Recursos para empezar
La puntuación de confianza revela el valor de las iniciativas de mejora de la seguridad mediante el diseño
Nuestra investigación ha demostrado que la formación en código seguro funciona. Trust Score, que utiliza un algoritmo basado en más de 20 millones de puntos de datos de aprendizaje procedentes del trabajo de más de 250 000 alumnos en más de 600 organizaciones, revela su eficacia a la hora de reducir las vulnerabilidades y cómo hacer que la iniciativa sea aún más eficaz.
Seguridad reactiva frente a seguridad preventiva: Prevenir es mejor que curar
La idea de introducir la seguridad preventiva en el código y los sistemas heredados al mismo tiempo que en las aplicaciones más recientes puede parecer desalentadora, pero un planteamiento basado en el diseño seguro, aplicado mediante la mejora de las competencias de los desarrolladores, puede aplicar las mejores prácticas de seguridad a esos sistemas. Es la mejor oportunidad que tienen muchas organizaciones de mejorar su seguridad.
Ventajas de la evaluación comparativa de las competencias de seguridad de los desarrolladores
La creciente atención que se presta al código seguro y a los principios del diseño seguro exige que los desarrolladores reciban formación en ciberseguridad desde el principio del proceso de desarrollo de software, con herramientas como Secure Code Warrior's Trust Score, que ayudan a medir y mejorar sus progresos.
Impulsando iniciativas de seguridad por diseño para empresas con éxito significativo
Nuestro último documento de investigación, Benchmarking Security Skills: Streamlining Secure-by-Design in the Enterprise, es el resultado de un análisis profundo de iniciativas reales de Secure-by-Design a nivel empresarial y de la derivación de enfoques de mejores prácticas basados en hallazgos basados en datos.