SCW图标
英雄背景无分隔线
博客

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

Jaap Karan Singh
发布于 2019 年 1 月 31 日
最后更新于 2026年3月6日

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.

感兴趣了解更多吗?

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

了解更多

Secure Code Warrior 您的组织在软件开发全生命周期中保护代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全管理员、开发人员、首席信息安全官,还是任何与安全相关的工作人员,我们都能助力您的组织降低不安全代码带来的风险。

预约演示
分享到:
领英品牌社交x 标志
作者
Jaap Karan Singh
发表于2019年1月31日

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

分享到:
领英品牌社交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.

查看资源
查看资源

请填写以下表格以下载报告

我们希望获得您的许可,以便向您发送有关我们产品或安全编码相关主题的信息。我们将始终以最高标准谨慎处理您的个人数据,绝不会出于营销目的将其出售给其他公司。

发送
scw 成功图标
SCW 错误图标
要提交表单,请启用「分析」cookie。完成后请随时将其重新禁用。

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 您的组织在软件开发全生命周期中保护代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全管理员、开发人员、首席信息安全官,还是任何与安全相关的工作人员,我们都能助力您的组织降低不安全代码带来的风险。

查看报告预约演示
查看资源
分享到:
领英品牌社交x 标志
感兴趣了解更多吗?

分享到:
领英品牌社交x 标志
作者
Jaap Karan Singh
发表于2019年1月31日

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

分享到:
领英品牌社交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.

目录

下载PDF
查看资源
感兴趣了解更多吗?

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

了解更多

Secure Code Warrior 您的组织在软件开发全生命周期中保护代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全管理员、开发人员、首席信息安全官,还是任何与安全相关的工作人员,我们都能助力您的组织降低不安全代码带来的风险。

预约演示下载
分享到:
领英品牌社交x 标志
资源中心

入门资源

更多出版物
资源中心

入门资源

更多出版物