Los codificadores conquistan la seguridad: Share & Learn Series - Debilidades en la gestión de la sesión
Usted navega por un sitio web y se conecta. Como es normal, llena su cesta de productos que desea comprar. Entonces, ¡vaya!, su mano se resbala y cierra la pestaña del navegador. Después de un pequeño ataque de pánico, vuelve a introducir la URL del sitio en el navegador y pulsa la tecla "Enter". Vuelves a entrar en el sitio, te conectas y todos tus artículos siguen en el carrito. Uf.
¿Cómo sabía el sitio quién era usted sin reautenticarse? Te identificaba porque utilizaba sesiones. Las sesiones son la clave para una buena experiencia de usuario cuando se utiliza la web. Sin embargo, una gestión incorrecta de las sesiones puede dar lugar a agujeros de seguridad que los atacantes pueden explotar.
Repasemos ahora lo que significa la gestión de sesiones, cómo puede perjudicarle una gestión de sesiones deficiente y qué puede hacer para gestionar las sesiones correctamente.
Comprender los puntos débiles de la gestión de sesiones
Una sesión se refiere a un valor almacenado en el servidor, específico para un solo usuario de la aplicación. Esto es necesario por dos razones: En primer lugar, HTTP es un protocolo sin estado. Cada solicitud es independiente y no tiene conocimiento de las solicitudes que han llegado antes o después de ella. Una sesión ayuda al servidor a saber quién ha enviado la petición. De lo contrario, habría que iniciar una sesión cada vez que se pulsara un botón o un enlace.
La segunda razón de las sesiones es la autorización del usuario. El identificador de sesión puede utilizarse 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é puede hacer.
Hay dos componentes en una sesión. Un almacén de datos en el lado del servidor almacena un identificador de sesión y lo asigna a información sobre el usuario, como su identificación de usuario o la información del carrito. El mismo identificador de sesión se envía al navegador en una cookie. Las cookies son almacenadas por el navegador en el sistema del usuario. El cliente pasa la cookie con cada solicitud, haciendo saber al servidor que esa solicitud proviene del mismo usuario. La mayoría de las aplicaciones utilizan las sesiones para hacer un seguimiento de los usuarios tanto antes como después de la autenticación.
La gestión adecuada de la sesión es esencial para la seguridad de una aplicación. Un ID de sesión válido tiene el mismo nivel de confianza que un nombre de usuario/contraseña, o incluso un token de autenticación de segundo factor.
Por qué una mala gestión de la sesión es peligrosa
Una mala gestión de la sesión puede llevar a una toma de posesión completa de la cuenta. Esto significa que los datos de los clientes pueden ser robados, o los productos podrían ser comprados de forma fraudulenta. Hay varias formas de que los atacantes obtengan un ID de sesión válido.
Un ataque de fijación de sesión se produce cuando las sesiones no se cambian en momentos clave, como cuando un usuario se conecta al sistema, y si los identificadores de sesión pueden establecerse utilizando la URL. Fijar los identificadores de sesión de esta manera puede ser utilizado para mantener a los usuarios conectados a través de diferentes aplicaciones que utilizan la misma fuente de autenticación. En este caso, un atacante puede navegar a un sitio web y obtener un identificador de sesión. A continuación, el atacante envía una URL a una víctima desprevenida por correo electrónico con el identificador de sesión en la URL. La víctima hace clic en la URL del correo electrónico y se conecta al sitio web. Si el ID de sesión no se rota al iniciar la sesión, el atacante tiene ahora un ID de sesión válido y autentificado. Esto permite la toma de posesión completa de la cuenta.
Otro ataque a la mala gestión de sesiones es un ataque de fuerza bruta de adivinación. Cuando los desarrolladores intentan crear sus propios sistemas de gestión de sesiones, a menudo utilizan identificadores de sesión que son bastante sencillos de adivinar. Estos 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 descubre uno válido. Esto también conduce a una toma de posesión de la cuenta.
Las sesiones que no se invalidan automáticamente después de un cierto tiempo pueden ser explotadas para atacar a los usuarios. Un ataque exitoso de falsificación de solicitudes entre sitios depende de que las sesiones sigan siendo válidas después de que el usuario abandone el sitio. Digamos 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 puede hacer que una aplicación bancaria vulnerable transfiera dinero a la cuenta de un atacante sin el permiso del usuario.
La gestión de la sesión puede ser complicada, y los puntos débiles pueden ser devastadores. Sin embargo, es un problema bien conocido y puede resolverse.
Derrotar a la gestión de sesiones inseguras
La gestión de sesiones es una pieza fundamental de cualquier aplicación web. Por ello, muchos marcos de desarrollo web tienen incorporada la funcionalidad de gestión de sesiones. Estos sistemas han sido examinados por expertos para encontrar y eliminar los problemas. Utilízalos.
Algunas de las propiedades más comunes de una buena gestión de sesiones son
Se generan identificadores de sesión aleatorios que los atacantes no pueden adivinar
Las sesiones se invalidan cuando un usuario se desconecta
Las sesiones se invalidan automáticamente una vez transcurrido un tiempo determinado
Los identificadores de sesión se cambian después de que el usuario se conecte
Identificadores de sesión de al menos 128 bits para evitar ataques de fuerza bruta
Los frameworks web como Spring, ASP.NET Core, Rails y Django tienen estas propiedades y deberían utilizarse por sus mayores estándares de seguridad en este caso.
En resumen: No cree su propio sistema de gestión de sesiones desde cero.
Una vez creados los ID de sesión, es necesario protegerlos. Establezca los indicadores Secure y HttpOnly en "true" en las cookies de sesión. Esto asegura que su valor no puede ser recuperado con JavaScript y el navegador sólo enviará la cookie a través de HTTPS, evitando que los atacantes roben la sesión de alguien en tránsito.
Asegure sus sesiones
Consulte nuestros recursos de aprendizaje gratuitos para obtener más información sobre la gestión de sesiones seguras. Aprender a proteger sus sesiones le ayudará a evitar la toma de posesió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.


Las sesiones son la clave para una buena experiencia de usuario cuando se utiliza la web. Sin embargo, gestionar las sesiones de forma incorrecta puede dar lugar a agujeros de seguridad que los atacantes pueden explotar.
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.


Usted navega por un sitio web y se conecta. Como es normal, llena su cesta de productos que desea comprar. Entonces, ¡vaya!, su mano se resbala y cierra la pestaña del navegador. Después de un pequeño ataque de pánico, vuelve a introducir la URL del sitio en el navegador y pulsa la tecla "Enter". Vuelves a entrar en el sitio, te conectas y todos tus artículos siguen en el carrito. Uf.
¿Cómo sabía el sitio quién era usted sin reautenticarse? Te identificaba porque utilizaba sesiones. Las sesiones son la clave para una buena experiencia de usuario cuando se utiliza la web. Sin embargo, una gestión incorrecta de las sesiones puede dar lugar a agujeros de seguridad que los atacantes pueden explotar.
Repasemos ahora lo que significa la gestión de sesiones, cómo puede perjudicarle una gestión de sesiones deficiente y qué puede hacer para gestionar las sesiones correctamente.
Comprender los puntos débiles de la gestión de sesiones
Una sesión se refiere a un valor almacenado en el servidor, específico para un solo usuario de la aplicación. Esto es necesario por dos razones: En primer lugar, HTTP es un protocolo sin estado. Cada solicitud es independiente y no tiene conocimiento de las solicitudes que han llegado antes o después de ella. Una sesión ayuda al servidor a saber quién ha enviado la petición. De lo contrario, habría que iniciar una sesión cada vez que se pulsara un botón o un enlace.
La segunda razón de las sesiones es la autorización del usuario. El identificador de sesión puede utilizarse 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é puede hacer.
Hay dos componentes en una sesión. Un almacén de datos en el lado del servidor almacena un identificador de sesión y lo asigna a información sobre el usuario, como su identificación de usuario o la información del carrito. El mismo identificador de sesión se envía al navegador en una cookie. Las cookies son almacenadas por el navegador en el sistema del usuario. El cliente pasa la cookie con cada solicitud, haciendo saber al servidor que esa solicitud proviene del mismo usuario. La mayoría de las aplicaciones utilizan las sesiones para hacer un seguimiento de los usuarios tanto antes como después de la autenticación.
La gestión adecuada de la sesión es esencial para la seguridad de una aplicación. Un ID de sesión válido tiene el mismo nivel de confianza que un nombre de usuario/contraseña, o incluso un token de autenticación de segundo factor.
Por qué una mala gestión de la sesión es peligrosa
Una mala gestión de la sesión puede llevar a una toma de posesión completa de la cuenta. Esto significa que los datos de los clientes pueden ser robados, o los productos podrían ser comprados de forma fraudulenta. Hay varias formas de que los atacantes obtengan un ID de sesión válido.
Un ataque de fijación de sesión se produce cuando las sesiones no se cambian en momentos clave, como cuando un usuario se conecta al sistema, y si los identificadores de sesión pueden establecerse utilizando la URL. Fijar los identificadores de sesión de esta manera puede ser utilizado para mantener a los usuarios conectados a través de diferentes aplicaciones que utilizan la misma fuente de autenticación. En este caso, un atacante puede navegar a un sitio web y obtener un identificador de sesión. A continuación, el atacante envía una URL a una víctima desprevenida por correo electrónico con el identificador de sesión en la URL. La víctima hace clic en la URL del correo electrónico y se conecta al sitio web. Si el ID de sesión no se rota al iniciar la sesión, el atacante tiene ahora un ID de sesión válido y autentificado. Esto permite la toma de posesión completa de la cuenta.
Otro ataque a la mala gestión de sesiones es un ataque de fuerza bruta de adivinación. Cuando los desarrolladores intentan crear sus propios sistemas de gestión de sesiones, a menudo utilizan identificadores de sesión que son bastante sencillos de adivinar. Estos 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 descubre uno válido. Esto también conduce a una toma de posesión de la cuenta.
Las sesiones que no se invalidan automáticamente después de un cierto tiempo pueden ser explotadas para atacar a los usuarios. Un ataque exitoso de falsificación de solicitudes entre sitios depende de que las sesiones sigan siendo válidas después de que el usuario abandone el sitio. Digamos 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 puede hacer que una aplicación bancaria vulnerable transfiera dinero a la cuenta de un atacante sin el permiso del usuario.
La gestión de la sesión puede ser complicada, y los puntos débiles pueden ser devastadores. Sin embargo, es un problema bien conocido y puede resolverse.
Derrotar a la gestión de sesiones inseguras
La gestión de sesiones es una pieza fundamental de cualquier aplicación web. Por ello, muchos marcos de desarrollo web tienen incorporada la funcionalidad de gestión de sesiones. Estos sistemas han sido examinados por expertos para encontrar y eliminar los problemas. Utilízalos.
Algunas de las propiedades más comunes de una buena gestión de sesiones son
Se generan identificadores de sesión aleatorios que los atacantes no pueden adivinar
Las sesiones se invalidan cuando un usuario se desconecta
Las sesiones se invalidan automáticamente una vez transcurrido un tiempo determinado
Los identificadores de sesión se cambian después de que el usuario se conecte
Identificadores de sesión de al menos 128 bits para evitar ataques de fuerza bruta
Los frameworks web como Spring, ASP.NET Core, Rails y Django tienen estas propiedades y deberían utilizarse por sus mayores estándares de seguridad en este caso.
En resumen: No cree su propio sistema de gestión de sesiones desde cero.
Una vez creados los ID de sesión, es necesario protegerlos. Establezca los indicadores Secure y HttpOnly en "true" en las cookies de sesión. Esto asegura que su valor no puede ser recuperado con JavaScript y el navegador sólo enviará la cookie a través de HTTPS, evitando que los atacantes roben la sesión de alguien en tránsito.
Asegure sus sesiones
Consulte nuestros recursos de aprendizaje gratuitos para obtener más información sobre la gestión de sesiones seguras. Aprender a proteger sus sesiones le ayudará a evitar la toma de posesió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.

Usted navega por un sitio web y se conecta. Como es normal, llena su cesta de productos que desea comprar. Entonces, ¡vaya!, su mano se resbala y cierra la pestaña del navegador. Después de un pequeño ataque de pánico, vuelve a introducir la URL del sitio en el navegador y pulsa la tecla "Enter". Vuelves a entrar en el sitio, te conectas y todos tus artículos siguen en el carrito. Uf.
¿Cómo sabía el sitio quién era usted sin reautenticarse? Te identificaba porque utilizaba sesiones. Las sesiones son la clave para una buena experiencia de usuario cuando se utiliza la web. Sin embargo, una gestión incorrecta de las sesiones puede dar lugar a agujeros de seguridad que los atacantes pueden explotar.
Repasemos ahora lo que significa la gestión de sesiones, cómo puede perjudicarle una gestión de sesiones deficiente y qué puede hacer para gestionar las sesiones correctamente.
Comprender los puntos débiles de la gestión de sesiones
Una sesión se refiere a un valor almacenado en el servidor, específico para un solo usuario de la aplicación. Esto es necesario por dos razones: En primer lugar, HTTP es un protocolo sin estado. Cada solicitud es independiente y no tiene conocimiento de las solicitudes que han llegado antes o después de ella. Una sesión ayuda al servidor a saber quién ha enviado la petición. De lo contrario, habría que iniciar una sesión cada vez que se pulsara un botón o un enlace.
La segunda razón de las sesiones es la autorización del usuario. El identificador de sesión puede utilizarse 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é puede hacer.
Hay dos componentes en una sesión. Un almacén de datos en el lado del servidor almacena un identificador de sesión y lo asigna a información sobre el usuario, como su identificación de usuario o la información del carrito. El mismo identificador de sesión se envía al navegador en una cookie. Las cookies son almacenadas por el navegador en el sistema del usuario. El cliente pasa la cookie con cada solicitud, haciendo saber al servidor que esa solicitud proviene del mismo usuario. La mayoría de las aplicaciones utilizan las sesiones para hacer un seguimiento de los usuarios tanto antes como después de la autenticación.
La gestión adecuada de la sesión es esencial para la seguridad de una aplicación. Un ID de sesión válido tiene el mismo nivel de confianza que un nombre de usuario/contraseña, o incluso un token de autenticación de segundo factor.
Por qué una mala gestión de la sesión es peligrosa
Una mala gestión de la sesión puede llevar a una toma de posesión completa de la cuenta. Esto significa que los datos de los clientes pueden ser robados, o los productos podrían ser comprados de forma fraudulenta. Hay varias formas de que los atacantes obtengan un ID de sesión válido.
Un ataque de fijación de sesión se produce cuando las sesiones no se cambian en momentos clave, como cuando un usuario se conecta al sistema, y si los identificadores de sesión pueden establecerse utilizando la URL. Fijar los identificadores de sesión de esta manera puede ser utilizado para mantener a los usuarios conectados a través de diferentes aplicaciones que utilizan la misma fuente de autenticación. En este caso, un atacante puede navegar a un sitio web y obtener un identificador de sesión. A continuación, el atacante envía una URL a una víctima desprevenida por correo electrónico con el identificador de sesión en la URL. La víctima hace clic en la URL del correo electrónico y se conecta al sitio web. Si el ID de sesión no se rota al iniciar la sesión, el atacante tiene ahora un ID de sesión válido y autentificado. Esto permite la toma de posesión completa de la cuenta.
Otro ataque a la mala gestión de sesiones es un ataque de fuerza bruta de adivinación. Cuando los desarrolladores intentan crear sus propios sistemas de gestión de sesiones, a menudo utilizan identificadores de sesión que son bastante sencillos de adivinar. Estos 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 descubre uno válido. Esto también conduce a una toma de posesión de la cuenta.
Las sesiones que no se invalidan automáticamente después de un cierto tiempo pueden ser explotadas para atacar a los usuarios. Un ataque exitoso de falsificación de solicitudes entre sitios depende de que las sesiones sigan siendo válidas después de que el usuario abandone el sitio. Digamos 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 puede hacer que una aplicación bancaria vulnerable transfiera dinero a la cuenta de un atacante sin el permiso del usuario.
La gestión de la sesión puede ser complicada, y los puntos débiles pueden ser devastadores. Sin embargo, es un problema bien conocido y puede resolverse.
Derrotar a la gestión de sesiones inseguras
La gestión de sesiones es una pieza fundamental de cualquier aplicación web. Por ello, muchos marcos de desarrollo web tienen incorporada la funcionalidad de gestión de sesiones. Estos sistemas han sido examinados por expertos para encontrar y eliminar los problemas. Utilízalos.
Algunas de las propiedades más comunes de una buena gestión de sesiones son
Se generan identificadores de sesión aleatorios que los atacantes no pueden adivinar
Las sesiones se invalidan cuando un usuario se desconecta
Las sesiones se invalidan automáticamente una vez transcurrido un tiempo determinado
Los identificadores de sesión se cambian después de que el usuario se conecte
Identificadores de sesión de al menos 128 bits para evitar ataques de fuerza bruta
Los frameworks web como Spring, ASP.NET Core, Rails y Django tienen estas propiedades y deberían utilizarse por sus mayores estándares de seguridad en este caso.
En resumen: No cree su propio sistema de gestión de sesiones desde cero.
Una vez creados los ID de sesión, es necesario protegerlos. Establezca los indicadores Secure y HttpOnly en "true" en las cookies de sesión. Esto asegura que su valor no puede ser recuperado con JavaScript y el navegador sólo enviará la cookie a través de HTTPS, evitando que los atacantes roben la sesión de alguien en tránsito.
Asegure sus sesiones
Consulte nuestros recursos de aprendizaje gratuitos para obtener más información sobre la gestión de sesiones seguras. Aprender a proteger sus sesiones le ayudará a evitar la toma de posesió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.

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.
Usted navega por un sitio web y se conecta. Como es normal, llena su cesta de productos que desea comprar. Entonces, ¡vaya!, su mano se resbala y cierra la pestaña del navegador. Después de un pequeño ataque de pánico, vuelve a introducir la URL del sitio en el navegador y pulsa la tecla "Enter". Vuelves a entrar en el sitio, te conectas y todos tus artículos siguen en el carrito. Uf.
¿Cómo sabía el sitio quién era usted sin reautenticarse? Te identificaba porque utilizaba sesiones. Las sesiones son la clave para una buena experiencia de usuario cuando se utiliza la web. Sin embargo, una gestión incorrecta de las sesiones puede dar lugar a agujeros de seguridad que los atacantes pueden explotar.
Repasemos ahora lo que significa la gestión de sesiones, cómo puede perjudicarle una gestión de sesiones deficiente y qué puede hacer para gestionar las sesiones correctamente.
Comprender los puntos débiles de la gestión de sesiones
Una sesión se refiere a un valor almacenado en el servidor, específico para un solo usuario de la aplicación. Esto es necesario por dos razones: En primer lugar, HTTP es un protocolo sin estado. Cada solicitud es independiente y no tiene conocimiento de las solicitudes que han llegado antes o después de ella. Una sesión ayuda al servidor a saber quién ha enviado la petición. De lo contrario, habría que iniciar una sesión cada vez que se pulsara un botón o un enlace.
La segunda razón de las sesiones es la autorización del usuario. El identificador de sesión puede utilizarse 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é puede hacer.
Hay dos componentes en una sesión. Un almacén de datos en el lado del servidor almacena un identificador de sesión y lo asigna a información sobre el usuario, como su identificación de usuario o la información del carrito. El mismo identificador de sesión se envía al navegador en una cookie. Las cookies son almacenadas por el navegador en el sistema del usuario. El cliente pasa la cookie con cada solicitud, haciendo saber al servidor que esa solicitud proviene del mismo usuario. La mayoría de las aplicaciones utilizan las sesiones para hacer un seguimiento de los usuarios tanto antes como después de la autenticación.
La gestión adecuada de la sesión es esencial para la seguridad de una aplicación. Un ID de sesión válido tiene el mismo nivel de confianza que un nombre de usuario/contraseña, o incluso un token de autenticación de segundo factor.
Por qué una mala gestión de la sesión es peligrosa
Una mala gestión de la sesión puede llevar a una toma de posesión completa de la cuenta. Esto significa que los datos de los clientes pueden ser robados, o los productos podrían ser comprados de forma fraudulenta. Hay varias formas de que los atacantes obtengan un ID de sesión válido.
Un ataque de fijación de sesión se produce cuando las sesiones no se cambian en momentos clave, como cuando un usuario se conecta al sistema, y si los identificadores de sesión pueden establecerse utilizando la URL. Fijar los identificadores de sesión de esta manera puede ser utilizado para mantener a los usuarios conectados a través de diferentes aplicaciones que utilizan la misma fuente de autenticación. En este caso, un atacante puede navegar a un sitio web y obtener un identificador de sesión. A continuación, el atacante envía una URL a una víctima desprevenida por correo electrónico con el identificador de sesión en la URL. La víctima hace clic en la URL del correo electrónico y se conecta al sitio web. Si el ID de sesión no se rota al iniciar la sesión, el atacante tiene ahora un ID de sesión válido y autentificado. Esto permite la toma de posesión completa de la cuenta.
Otro ataque a la mala gestión de sesiones es un ataque de fuerza bruta de adivinación. Cuando los desarrolladores intentan crear sus propios sistemas de gestión de sesiones, a menudo utilizan identificadores de sesión que son bastante sencillos de adivinar. Estos 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 descubre uno válido. Esto también conduce a una toma de posesión de la cuenta.
Las sesiones que no se invalidan automáticamente después de un cierto tiempo pueden ser explotadas para atacar a los usuarios. Un ataque exitoso de falsificación de solicitudes entre sitios depende de que las sesiones sigan siendo válidas después de que el usuario abandone el sitio. Digamos 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 puede hacer que una aplicación bancaria vulnerable transfiera dinero a la cuenta de un atacante sin el permiso del usuario.
La gestión de la sesión puede ser complicada, y los puntos débiles pueden ser devastadores. Sin embargo, es un problema bien conocido y puede resolverse.
Derrotar a la gestión de sesiones inseguras
La gestión de sesiones es una pieza fundamental de cualquier aplicación web. Por ello, muchos marcos de desarrollo web tienen incorporada la funcionalidad de gestión de sesiones. Estos sistemas han sido examinados por expertos para encontrar y eliminar los problemas. Utilízalos.
Algunas de las propiedades más comunes de una buena gestión de sesiones son
Se generan identificadores de sesión aleatorios que los atacantes no pueden adivinar
Las sesiones se invalidan cuando un usuario se desconecta
Las sesiones se invalidan automáticamente una vez transcurrido un tiempo determinado
Los identificadores de sesión se cambian después de que el usuario se conecte
Identificadores de sesión de al menos 128 bits para evitar ataques de fuerza bruta
Los frameworks web como Spring, ASP.NET Core, Rails y Django tienen estas propiedades y deberían utilizarse por sus mayores estándares de seguridad en este caso.
En resumen: No cree su propio sistema de gestión de sesiones desde cero.
Una vez creados los ID de sesión, es necesario protegerlos. Establezca los indicadores Secure y HttpOnly en "true" en las cookies de sesión. Esto asegura que su valor no puede ser recuperado con JavaScript y el navegador sólo enviará la cookie a través de HTTPS, evitando que los atacantes roben la sesión de alguien en tránsito.
Asegure sus sesiones
Consulte nuestros recursos de aprendizaje gratuitos para obtener más información sobre la gestión de sesiones seguras. Aprender a proteger sus sesiones le ayudará a evitar la toma de posesió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.
Í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
Servicios profesionales - Acelerar con experiencia
El equipo de servicios de estrategia de programas (PSS) de Secure Code Warriorle ayuda a crear, mejorar y optimizar su programa de codificación segura. Tanto si empieza de cero como si está perfeccionando su enfoque, nuestros expertos le proporcionarán orientación personalizada.
Temas y contenidos de la formación sobre código seguro
Nuestro contenido, líder en el sector, evoluciona constantemente para adaptarse al cambiante panorama del desarrollo de software teniendo en cuenta su función. Temas que cubren todo, desde IA a XQuery Injection, ofrecidos para una variedad de roles desde Arquitectos e Ingenieros a Product Managers y QA. Eche un vistazo a lo que ofrece nuestro catálogo de contenidos por tema y función.
Búsqueda: Aprendizaje líder en la industria para mantener a los desarrolladores por delante mitigando el riesgo.
Quests es una learning platform que ayuda a los desarrolladores a mitigar los riesgos de seguridad del software mediante la mejora de sus habilidades de codificación segura. Con rutas de aprendizaje curadas, desafíos prácticos y actividades interactivas, capacita a los desarrolladores para identificar y prevenir vulnerabilidades.
Recursos para empezar
Inyección indirecta y riesgos de seguridad de las herramientas de codificación agéntica
Cómo se engañó a un agente de codificación para que escribiera código propenso a inyecciones SQL, instalara herramientas de shell y tal vez incluso acechara a su usuario.
La Década de los Defensores: Secure Code Warrior Cumple Diez Años
Secure Code Warriorha permanecido unido, dirigiendo el barco a través de cada lección, triunfo y contratiempo durante toda una década. Estamos creciendo y listos para afrontar nuestro próximo capítulo, SCW 2.0, como líderes en gestión de riesgos para desarrolladores.
10 predicciones clave: Secure Code Warrior sobre la influencia de la IA y el diseño seguro en 2025
Las organizaciones se enfrentan a decisiones difíciles sobre el uso de la IA para apoyar la productividad a largo plazo, la sostenibilidad y el retorno de la inversión en seguridad. En los últimos años nos ha quedado claro que la IA nunca sustituirá por completo el papel del desarrollador. Desde las asociaciones entre IA y desarrolladores hasta las crecientes presiones (y confusión) en torno a las expectativas de seguridad por diseño, echemos un vistazo más de cerca a lo que podemos esperar durante el próximo año.