
Coders Conquer Security: Serie Share & Learn: Debilidades en la administración de sesiones
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.


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.
야프 카란 싱은 보안 코딩 전도자, 수석 싱 및 공동 설립자입니다 Secure Code Warrior .

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.
데모 예약하기야프 카란 싱은 보안 코딩 전도자, 수석 싱 및 공동 설립자입니다 Secure Code Warrior .


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.

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.

아래 링크를 클릭하고 이 자료의 PDF를 다운로드하세요.
Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.
보고서 보기데모 예약하기야프 카란 싱은 보안 코딩 전도자, 수석 싱 및 공동 설립자입니다 Secure Code Warrior .
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.




%20(1).avif)
.avif)
