Icônes SCW
héros bg sans séparateur
Blog

Coders Conquer Security: Serie Share & Learn: Debilidades en la administración de sesiones

Jaap Karan Singh
Publié le 31 janvier 2019
Dernière mise à jour le 6 mars 2026

Navegas a un sitio web e inicias sesión. Como de costumbre, llenas tu carrito con los productos que te gustaría comprar. Luego, grita: tu mano se desliza y cierra la pestaña del navegador. Después de un pequeño pánico, vuelve a ingresar la URL del sitio en el navegador y presiona la tecla «Enter». Vuelve al sitio, inicia sesión y todos sus artículos siguen en el carrito. Uf.

¿Cómo supo el sitio quién eras sin volver a autenticarte? Te identificó porque estaba usando sesiones. Las sesiones son la clave para una buena experiencia de usuario cuando se utiliza la web. Sin embargo, la administración incorrecta de las sesiones puede generar brechas de seguridad que los atacantes pueden aprovechar.

Repasemos ahora qué significa la administración de sesiones, cómo puede perjudicarle una administración de sesiones deficiente y qué puede hacer para administrar las sesiones correctamente.

Comprender las debilidades de la administración de sesiones

Una sesión hace referencia a un valor almacenado en el servidor, específico de un único usuario de la aplicación. Esto es necesario por dos motivos: en primer lugar, HTTP es un protocolo sin estado. Cada solicitud es independiente y no tiene conocimiento de las solicitudes anteriores o posteriores. Una sesión ayuda al servidor a rastrear quién envió la solicitud. De lo contrario, tendrá que iniciar sesión cada vez que haga clic en un botón o un enlace.

El segundo motivo de las sesiones es la autorización del usuario. El identificador de sesión se puede usar para reconocer a un usuario específico con derechos específicos dentro del sistema. La aplicación sabrá quién es la persona y qué se le permite hacer.

Hay dos componentes en una sesión. Un almacén de datos del lado del servidor almacena un identificador de sesión y lo asigna a información sobre el usuario, como su identificador de usuario o la información del carrito. El mismo identificador de sesión se envía al navegador en una cookie. El navegador almacena las cookies en el sistema del usuario. El cliente envía la cookie con cada solicitud, lo que permite al servidor saber que esta solicitud proviene del mismo usuario. La mayoría de las aplicaciones utilizan sesiones para rastrear a los usuarios antes y después de la autenticación.

La administración adecuada de las sesiones es esencial para la seguridad de una aplicación. Un identificador de sesión válido tiene el mismo nivel de confianza que un nombre de usuario o contraseña, o incluso un token de autenticación de segundo factor.

Por qué es peligrosa una mala gestión de las sesiones

Una gestión deficiente de las sesiones puede provocar la apropiación total de la cuenta. Esto significa que los datos de los clientes pueden ser robados o que los productos pueden comprarse de forma fraudulenta. Los atacantes pueden obtener una ID de sesión válida de varias maneras.

UN ataque de fijación de sesión se produce cuando las sesiones no se modifican en momentos clave, como cuando un usuario inicia sesión en el sistema, y si los identificadores de sesión se pueden establecer mediante la URL. La configuración de los identificadores de sesión de esta manera se puede utilizar para mantener a los usuarios conectados en diferentes aplicaciones que utilizan la misma fuente de autenticación. En este caso, un atacante puede navegar hasta un sitio web y obtener un identificador de sesión. Luego, el atacante envía una URL a una víctima desprevenida por correo electrónico con el ID de sesión en la URL. La víctima hace clic en la URL del correo electrónico e inicia sesión en el sitio web. Si el ID de sesión no se cambia al iniciar sesión, el atacante ahora tiene un ID de sesión válido y autenticado. Esto permite la apropiación completa de la cuenta.

Otro ataque contra la mala gestión de las sesiones es un ataque de adivinación por fuerza bruta. Cuando los desarrolladores intentan crear sus propios sistemas de administración de sesiones, suelen utilizar identificadores de sesión que son bastante fáciles de adivinar. Pueden ser una secuencia (1, 2, 3) o un patrón predecible de algún tipo. El atacante simplemente sigue adivinando los ID de sesión hasta que descubra uno válido. Esto también lleva a la apropiación de una cuenta.

Las sesiones que no se invalidan automáticamente una vez transcurrido cierto tiempo pueden aprovecharse para atacar a los usuarios. Un éxito falsificación de solicitudes entre sitios el ataque depende de las sesiones que siguen siendo válidas después de que el usuario abandone el sitio. Supongamos que un atacante coloca un iframe o una imagen en un sitio visitado por el usuario. El atributo «src» (fuente) se establece en la URL del sitio vulnerable y realiza una acción en nombre del usuario. Por ejemplo, se podría crear una aplicación bancaria vulnerable para transferir dinero a la cuenta de un atacante sin el permiso del usuario.

La administración de las sesiones puede ser complicada y las debilidades pueden ser devastadoras. Sin embargo, es un problema bien conocido y se puede resolver.

Derrote la administración insegura de sesiones

La administración de sesiones es una pieza fundamental de cualquier aplicación web. Como resultado, muchos marcos de desarrollo web tienen una funcionalidad de administración de sesiones integrada. Estos sistemas han sido examinados minuciosamente por expertos para encontrar y eliminar problemas. Utilízalos.

Algunas propiedades comunes de buena gestión de sesiones incluyen:

Se generan identificadores de sesión aleatorios que los atacantes no pueden adivinar

Las sesiones se invalidan cuando un usuario cierra sesión

Las sesiones se invalidan automáticamente después de que haya transcurrido un cierto período de tiempo

Los ID de sesión se cambian después de que el usuario inicie sesión

Identificadores de sesión de al menos 128 bits de longitud para evitar ataques de fuerza bruta

Frameworks web como Spring, Núcleo de ASP.NET, Rieles, y Django tienen estas propiedades y, en este caso, deben usarse para cumplir con sus estándares de seguridad más altos.

En pocas palabras: no cree su propio sistema de administración de sesiones desde cero.

Una vez que se crean los ID de sesión, es necesario protegerlos. Configure el Indicadores Secure y HttpOnly a «verdaderas» en las cookies de sesión. Esto garantiza que su valor no se pueda recuperar con JavaScript y que el navegador solo envíe la cookie a través de HTTPS, lo que evita que los atacantes roben la sesión de alguien mientras está en tránsito.

Proteja sus sesiones

Consulta nuestros recursos de aprendizaje gratuitos para obtener más información sobre la administración segura de sesiones. Aprender a proteger las sesiones ayudará a evitar la apropiación de cuentas de usuario, el daño a la reputación y la pérdida de ingresos debido a las brechas de seguridad. Proteja sus sesiones y mantenga a sus usuarios seguros.

Veuillez consulter la ressource
Veuillez consulter la ressource

Las sesiones son clave para una buena experiencia de usuario al usar la web. Sin embargo, la administración incorrecta de las sesiones puede generar brechas de seguridad que los atacantes pueden aprovechar.

Souhaitez-vous en savoir davantage ?

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

En savoir plus

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Veuillez réserver une démonstration.
Partager sur :
marques LinkedInSocialLogo x
auteur
Jaap Karan Singh
Publié le 31 janvier 2019

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Partager sur :
marques LinkedInSocialLogo x

Navegas a un sitio web e inicias sesión. Como de costumbre, llenas tu carrito con los productos que te gustaría comprar. Luego, grita: tu mano se desliza y cierra la pestaña del navegador. Después de un pequeño pánico, vuelve a ingresar la URL del sitio en el navegador y presiona la tecla «Enter». Vuelve al sitio, inicia sesión y todos sus artículos siguen en el carrito. Uf.

¿Cómo supo el sitio quién eras sin volver a autenticarte? Te identificó porque estaba usando sesiones. Las sesiones son la clave para una buena experiencia de usuario cuando se utiliza la web. Sin embargo, la administración incorrecta de las sesiones puede generar brechas de seguridad que los atacantes pueden aprovechar.

Repasemos ahora qué significa la administración de sesiones, cómo puede perjudicarle una administración de sesiones deficiente y qué puede hacer para administrar las sesiones correctamente.

Comprender las debilidades de la administración de sesiones

Una sesión hace referencia a un valor almacenado en el servidor, específico de un único usuario de la aplicación. Esto es necesario por dos motivos: en primer lugar, HTTP es un protocolo sin estado. Cada solicitud es independiente y no tiene conocimiento de las solicitudes anteriores o posteriores. Una sesión ayuda al servidor a rastrear quién envió la solicitud. De lo contrario, tendrá que iniciar sesión cada vez que haga clic en un botón o un enlace.

El segundo motivo de las sesiones es la autorización del usuario. El identificador de sesión se puede usar para reconocer a un usuario específico con derechos específicos dentro del sistema. La aplicación sabrá quién es la persona y qué se le permite hacer.

Hay dos componentes en una sesión. Un almacén de datos del lado del servidor almacena un identificador de sesión y lo asigna a información sobre el usuario, como su identificador de usuario o la información del carrito. El mismo identificador de sesión se envía al navegador en una cookie. El navegador almacena las cookies en el sistema del usuario. El cliente envía la cookie con cada solicitud, lo que permite al servidor saber que esta solicitud proviene del mismo usuario. La mayoría de las aplicaciones utilizan sesiones para rastrear a los usuarios antes y después de la autenticación.

La administración adecuada de las sesiones es esencial para la seguridad de una aplicación. Un identificador de sesión válido tiene el mismo nivel de confianza que un nombre de usuario o contraseña, o incluso un token de autenticación de segundo factor.

Por qué es peligrosa una mala gestión de las sesiones

Una gestión deficiente de las sesiones puede provocar la apropiación total de la cuenta. Esto significa que los datos de los clientes pueden ser robados o que los productos pueden comprarse de forma fraudulenta. Los atacantes pueden obtener una ID de sesión válida de varias maneras.

UN ataque de fijación de sesión se produce cuando las sesiones no se modifican en momentos clave, como cuando un usuario inicia sesión en el sistema, y si los identificadores de sesión se pueden establecer mediante la URL. La configuración de los identificadores de sesión de esta manera se puede utilizar para mantener a los usuarios conectados en diferentes aplicaciones que utilizan la misma fuente de autenticación. En este caso, un atacante puede navegar hasta un sitio web y obtener un identificador de sesión. Luego, el atacante envía una URL a una víctima desprevenida por correo electrónico con el ID de sesión en la URL. La víctima hace clic en la URL del correo electrónico e inicia sesión en el sitio web. Si el ID de sesión no se cambia al iniciar sesión, el atacante ahora tiene un ID de sesión válido y autenticado. Esto permite la apropiación completa de la cuenta.

Otro ataque contra la mala gestión de las sesiones es un ataque de adivinación por fuerza bruta. Cuando los desarrolladores intentan crear sus propios sistemas de administración de sesiones, suelen utilizar identificadores de sesión que son bastante fáciles de adivinar. Pueden ser una secuencia (1, 2, 3) o un patrón predecible de algún tipo. El atacante simplemente sigue adivinando los ID de sesión hasta que descubra uno válido. Esto también lleva a la apropiación de una cuenta.

Las sesiones que no se invalidan automáticamente una vez transcurrido cierto tiempo pueden aprovecharse para atacar a los usuarios. Un éxito falsificación de solicitudes entre sitios el ataque depende de las sesiones que siguen siendo válidas después de que el usuario abandone el sitio. Supongamos que un atacante coloca un iframe o una imagen en un sitio visitado por el usuario. El atributo «src» (fuente) se establece en la URL del sitio vulnerable y realiza una acción en nombre del usuario. Por ejemplo, se podría crear una aplicación bancaria vulnerable para transferir dinero a la cuenta de un atacante sin el permiso del usuario.

La administración de las sesiones puede ser complicada y las debilidades pueden ser devastadoras. Sin embargo, es un problema bien conocido y se puede resolver.

Derrote la administración insegura de sesiones

La administración de sesiones es una pieza fundamental de cualquier aplicación web. Como resultado, muchos marcos de desarrollo web tienen una funcionalidad de administración de sesiones integrada. Estos sistemas han sido examinados minuciosamente por expertos para encontrar y eliminar problemas. Utilízalos.

Algunas propiedades comunes de buena gestión de sesiones incluyen:

Se generan identificadores de sesión aleatorios que los atacantes no pueden adivinar

Las sesiones se invalidan cuando un usuario cierra sesión

Las sesiones se invalidan automáticamente después de que haya transcurrido un cierto período de tiempo

Los ID de sesión se cambian después de que el usuario inicie sesión

Identificadores de sesión de al menos 128 bits de longitud para evitar ataques de fuerza bruta

Frameworks web como Spring, Núcleo de ASP.NET, Rieles, y Django tienen estas propiedades y, en este caso, deben usarse para cumplir con sus estándares de seguridad más altos.

En pocas palabras: no cree su propio sistema de administración de sesiones desde cero.

Una vez que se crean los ID de sesión, es necesario protegerlos. Configure el Indicadores Secure y HttpOnly a «verdaderas» en las cookies de sesión. Esto garantiza que su valor no se pueda recuperar con JavaScript y que el navegador solo envíe la cookie a través de HTTPS, lo que evita que los atacantes roben la sesión de alguien mientras está en tránsito.

Proteja sus sesiones

Consulta nuestros recursos de aprendizaje gratuitos para obtener más información sobre la administración segura de sesiones. Aprender a proteger las sesiones ayudará a evitar la apropiación de cuentas de usuario, el daño a la reputación y la pérdida de ingresos debido a las brechas de seguridad. Proteja sus sesiones y mantenga a sus usuarios seguros.

Veuillez consulter la ressource
Veuillez consulter la ressource

Veuillez remplir le formulaire suivant pour télécharger le rapport.

Nous souhaiterions obtenir votre autorisation pour vous envoyer des informations sur nos produits ou sur des sujets liés au codage sécurisé. Nous traiterons toujours vos données personnelles avec le plus grand soin et ne les vendrons jamais à d'autres entreprises à des fins de marketing.

Envoyer
icône de réussite scw
icône d'erreur scw
Pour envoyer le formulaire, veuillez activer les cookies « d'analyse ». N'hésitez pas à les désactiver à nouveau une fois que vous avez terminé.

Navegas a un sitio web e inicias sesión. Como de costumbre, llenas tu carrito con los productos que te gustaría comprar. Luego, grita: tu mano se desliza y cierra la pestaña del navegador. Después de un pequeño pánico, vuelve a ingresar la URL del sitio en el navegador y presiona la tecla «Enter». Vuelve al sitio, inicia sesión y todos sus artículos siguen en el carrito. Uf.

¿Cómo supo el sitio quién eras sin volver a autenticarte? Te identificó porque estaba usando sesiones. Las sesiones son la clave para una buena experiencia de usuario cuando se utiliza la web. Sin embargo, la administración incorrecta de las sesiones puede generar brechas de seguridad que los atacantes pueden aprovechar.

Repasemos ahora qué significa la administración de sesiones, cómo puede perjudicarle una administración de sesiones deficiente y qué puede hacer para administrar las sesiones correctamente.

Comprender las debilidades de la administración de sesiones

Una sesión hace referencia a un valor almacenado en el servidor, específico de un único usuario de la aplicación. Esto es necesario por dos motivos: en primer lugar, HTTP es un protocolo sin estado. Cada solicitud es independiente y no tiene conocimiento de las solicitudes anteriores o posteriores. Una sesión ayuda al servidor a rastrear quién envió la solicitud. De lo contrario, tendrá que iniciar sesión cada vez que haga clic en un botón o un enlace.

El segundo motivo de las sesiones es la autorización del usuario. El identificador de sesión se puede usar para reconocer a un usuario específico con derechos específicos dentro del sistema. La aplicación sabrá quién es la persona y qué se le permite hacer.

Hay dos componentes en una sesión. Un almacén de datos del lado del servidor almacena un identificador de sesión y lo asigna a información sobre el usuario, como su identificador de usuario o la información del carrito. El mismo identificador de sesión se envía al navegador en una cookie. El navegador almacena las cookies en el sistema del usuario. El cliente envía la cookie con cada solicitud, lo que permite al servidor saber que esta solicitud proviene del mismo usuario. La mayoría de las aplicaciones utilizan sesiones para rastrear a los usuarios antes y después de la autenticación.

La administración adecuada de las sesiones es esencial para la seguridad de una aplicación. Un identificador de sesión válido tiene el mismo nivel de confianza que un nombre de usuario o contraseña, o incluso un token de autenticación de segundo factor.

Por qué es peligrosa una mala gestión de las sesiones

Una gestión deficiente de las sesiones puede provocar la apropiación total de la cuenta. Esto significa que los datos de los clientes pueden ser robados o que los productos pueden comprarse de forma fraudulenta. Los atacantes pueden obtener una ID de sesión válida de varias maneras.

UN ataque de fijación de sesión se produce cuando las sesiones no se modifican en momentos clave, como cuando un usuario inicia sesión en el sistema, y si los identificadores de sesión se pueden establecer mediante la URL. La configuración de los identificadores de sesión de esta manera se puede utilizar para mantener a los usuarios conectados en diferentes aplicaciones que utilizan la misma fuente de autenticación. En este caso, un atacante puede navegar hasta un sitio web y obtener un identificador de sesión. Luego, el atacante envía una URL a una víctima desprevenida por correo electrónico con el ID de sesión en la URL. La víctima hace clic en la URL del correo electrónico e inicia sesión en el sitio web. Si el ID de sesión no se cambia al iniciar sesión, el atacante ahora tiene un ID de sesión válido y autenticado. Esto permite la apropiación completa de la cuenta.

Otro ataque contra la mala gestión de las sesiones es un ataque de adivinación por fuerza bruta. Cuando los desarrolladores intentan crear sus propios sistemas de administración de sesiones, suelen utilizar identificadores de sesión que son bastante fáciles de adivinar. Pueden ser una secuencia (1, 2, 3) o un patrón predecible de algún tipo. El atacante simplemente sigue adivinando los ID de sesión hasta que descubra uno válido. Esto también lleva a la apropiación de una cuenta.

Las sesiones que no se invalidan automáticamente una vez transcurrido cierto tiempo pueden aprovecharse para atacar a los usuarios. Un éxito falsificación de solicitudes entre sitios el ataque depende de las sesiones que siguen siendo válidas después de que el usuario abandone el sitio. Supongamos que un atacante coloca un iframe o una imagen en un sitio visitado por el usuario. El atributo «src» (fuente) se establece en la URL del sitio vulnerable y realiza una acción en nombre del usuario. Por ejemplo, se podría crear una aplicación bancaria vulnerable para transferir dinero a la cuenta de un atacante sin el permiso del usuario.

La administración de las sesiones puede ser complicada y las debilidades pueden ser devastadoras. Sin embargo, es un problema bien conocido y se puede resolver.

Derrote la administración insegura de sesiones

La administración de sesiones es una pieza fundamental de cualquier aplicación web. Como resultado, muchos marcos de desarrollo web tienen una funcionalidad de administración de sesiones integrada. Estos sistemas han sido examinados minuciosamente por expertos para encontrar y eliminar problemas. Utilízalos.

Algunas propiedades comunes de buena gestión de sesiones incluyen:

Se generan identificadores de sesión aleatorios que los atacantes no pueden adivinar

Las sesiones se invalidan cuando un usuario cierra sesión

Las sesiones se invalidan automáticamente después de que haya transcurrido un cierto período de tiempo

Los ID de sesión se cambian después de que el usuario inicie sesión

Identificadores de sesión de al menos 128 bits de longitud para evitar ataques de fuerza bruta

Frameworks web como Spring, Núcleo de ASP.NET, Rieles, y Django tienen estas propiedades y, en este caso, deben usarse para cumplir con sus estándares de seguridad más altos.

En pocas palabras: no cree su propio sistema de administración de sesiones desde cero.

Una vez que se crean los ID de sesión, es necesario protegerlos. Configure el Indicadores Secure y HttpOnly a «verdaderas» en las cookies de sesión. Esto garantiza que su valor no se pueda recuperar con JavaScript y que el navegador solo envíe la cookie a través de HTTPS, lo que evita que los atacantes roben la sesión de alguien mientras está en tránsito.

Proteja sus sesiones

Consulta nuestros recursos de aprendizaje gratuitos para obtener más información sobre la administración segura de sesiones. Aprender a proteger las sesiones ayudará a evitar la apropiación de cuentas de usuario, el daño a la reputación y la pérdida de ingresos debido a las brechas de seguridad. Proteja sus sesiones y mantenga a sus usuarios seguros.

Veuillez consulter le webinaire
Commencer
En savoir plus

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Veuillez consulter le rapportVeuillez réserver une démonstration.
Télécharger le PDF
Veuillez consulter la ressource
Partager sur :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Partager sur :
marques LinkedInSocialLogo x
auteur
Jaap Karan Singh
Publié le 31 janvier 2019

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Partager sur :
marques LinkedInSocialLogo x

Navegas a un sitio web e inicias sesión. Como de costumbre, llenas tu carrito con los productos que te gustaría comprar. Luego, grita: tu mano se desliza y cierra la pestaña del navegador. Después de un pequeño pánico, vuelve a ingresar la URL del sitio en el navegador y presiona la tecla «Enter». Vuelve al sitio, inicia sesión y todos sus artículos siguen en el carrito. Uf.

¿Cómo supo el sitio quién eras sin volver a autenticarte? Te identificó porque estaba usando sesiones. Las sesiones son la clave para una buena experiencia de usuario cuando se utiliza la web. Sin embargo, la administración incorrecta de las sesiones puede generar brechas de seguridad que los atacantes pueden aprovechar.

Repasemos ahora qué significa la administración de sesiones, cómo puede perjudicarle una administración de sesiones deficiente y qué puede hacer para administrar las sesiones correctamente.

Comprender las debilidades de la administración de sesiones

Una sesión hace referencia a un valor almacenado en el servidor, específico de un único usuario de la aplicación. Esto es necesario por dos motivos: en primer lugar, HTTP es un protocolo sin estado. Cada solicitud es independiente y no tiene conocimiento de las solicitudes anteriores o posteriores. Una sesión ayuda al servidor a rastrear quién envió la solicitud. De lo contrario, tendrá que iniciar sesión cada vez que haga clic en un botón o un enlace.

El segundo motivo de las sesiones es la autorización del usuario. El identificador de sesión se puede usar para reconocer a un usuario específico con derechos específicos dentro del sistema. La aplicación sabrá quién es la persona y qué se le permite hacer.

Hay dos componentes en una sesión. Un almacén de datos del lado del servidor almacena un identificador de sesión y lo asigna a información sobre el usuario, como su identificador de usuario o la información del carrito. El mismo identificador de sesión se envía al navegador en una cookie. El navegador almacena las cookies en el sistema del usuario. El cliente envía la cookie con cada solicitud, lo que permite al servidor saber que esta solicitud proviene del mismo usuario. La mayoría de las aplicaciones utilizan sesiones para rastrear a los usuarios antes y después de la autenticación.

La administración adecuada de las sesiones es esencial para la seguridad de una aplicación. Un identificador de sesión válido tiene el mismo nivel de confianza que un nombre de usuario o contraseña, o incluso un token de autenticación de segundo factor.

Por qué es peligrosa una mala gestión de las sesiones

Una gestión deficiente de las sesiones puede provocar la apropiación total de la cuenta. Esto significa que los datos de los clientes pueden ser robados o que los productos pueden comprarse de forma fraudulenta. Los atacantes pueden obtener una ID de sesión válida de varias maneras.

UN ataque de fijación de sesión se produce cuando las sesiones no se modifican en momentos clave, como cuando un usuario inicia sesión en el sistema, y si los identificadores de sesión se pueden establecer mediante la URL. La configuración de los identificadores de sesión de esta manera se puede utilizar para mantener a los usuarios conectados en diferentes aplicaciones que utilizan la misma fuente de autenticación. En este caso, un atacante puede navegar hasta un sitio web y obtener un identificador de sesión. Luego, el atacante envía una URL a una víctima desprevenida por correo electrónico con el ID de sesión en la URL. La víctima hace clic en la URL del correo electrónico e inicia sesión en el sitio web. Si el ID de sesión no se cambia al iniciar sesión, el atacante ahora tiene un ID de sesión válido y autenticado. Esto permite la apropiación completa de la cuenta.

Otro ataque contra la mala gestión de las sesiones es un ataque de adivinación por fuerza bruta. Cuando los desarrolladores intentan crear sus propios sistemas de administración de sesiones, suelen utilizar identificadores de sesión que son bastante fáciles de adivinar. Pueden ser una secuencia (1, 2, 3) o un patrón predecible de algún tipo. El atacante simplemente sigue adivinando los ID de sesión hasta que descubra uno válido. Esto también lleva a la apropiación de una cuenta.

Las sesiones que no se invalidan automáticamente una vez transcurrido cierto tiempo pueden aprovecharse para atacar a los usuarios. Un éxito falsificación de solicitudes entre sitios el ataque depende de las sesiones que siguen siendo válidas después de que el usuario abandone el sitio. Supongamos que un atacante coloca un iframe o una imagen en un sitio visitado por el usuario. El atributo «src» (fuente) se establece en la URL del sitio vulnerable y realiza una acción en nombre del usuario. Por ejemplo, se podría crear una aplicación bancaria vulnerable para transferir dinero a la cuenta de un atacante sin el permiso del usuario.

La administración de las sesiones puede ser complicada y las debilidades pueden ser devastadoras. Sin embargo, es un problema bien conocido y se puede resolver.

Derrote la administración insegura de sesiones

La administración de sesiones es una pieza fundamental de cualquier aplicación web. Como resultado, muchos marcos de desarrollo web tienen una funcionalidad de administración de sesiones integrada. Estos sistemas han sido examinados minuciosamente por expertos para encontrar y eliminar problemas. Utilízalos.

Algunas propiedades comunes de buena gestión de sesiones incluyen:

Se generan identificadores de sesión aleatorios que los atacantes no pueden adivinar

Las sesiones se invalidan cuando un usuario cierra sesión

Las sesiones se invalidan automáticamente después de que haya transcurrido un cierto período de tiempo

Los ID de sesión se cambian después de que el usuario inicie sesión

Identificadores de sesión de al menos 128 bits de longitud para evitar ataques de fuerza bruta

Frameworks web como Spring, Núcleo de ASP.NET, Rieles, y Django tienen estas propiedades y, en este caso, deben usarse para cumplir con sus estándares de seguridad más altos.

En pocas palabras: no cree su propio sistema de administración de sesiones desde cero.

Una vez que se crean los ID de sesión, es necesario protegerlos. Configure el Indicadores Secure y HttpOnly a «verdaderas» en las cookies de sesión. Esto garantiza que su valor no se pueda recuperar con JavaScript y que el navegador solo envíe la cookie a través de HTTPS, lo que evita que los atacantes roben la sesión de alguien mientras está en tránsito.

Proteja sus sesiones

Consulta nuestros recursos de aprendizaje gratuitos para obtener más información sobre la administración segura de sesiones. Aprender a proteger las sesiones ayudará a evitar la apropiación de cuentas de usuario, el daño a la reputación y la pérdida de ingresos debido a las brechas de seguridad. Proteja sus sesiones y mantenga a sus usuarios seguros.

Table des matières

Télécharger le PDF
Veuillez consulter la ressource
Souhaitez-vous en savoir davantage ?

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

En savoir plus

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Veuillez réserver une démonstration.Télécharger
Partager sur :
marques LinkedInSocialLogo x
Centre de ressources

Ressources pour débuter

Plus de publications
Centre de ressources

Ressources pour débuter

Plus de publications