
Les codeurs conquièrent la sécurité : série Share & Learn - Faiblesses de la gestion des sessions
你导航到一个网站并登录。像往常一样,你把你想买的产品装满了你的购物车。然后,哎呀--你的手一滑,关闭了浏览器标签。惊慌失措之后,你在浏览器中重新输入网站的URL,并按下 "Enter "键。你被带回了网站,登录了,而你所有的商品都还在购物车里。呜呼。
该网站是如何知道你是谁而不重新认证的?它识别了你,因为它在使用会话。会话是使用网络时获得良好用户体验的关键。然而,不正确地管理会话可能导致攻击者可以利用的安全漏洞。
现在让我们回顾一下会话管理的含义,薄弱的会话管理如何伤害你,以及你可以做什么来正确管理会话。
了解会话管理的弱点
会话是指存储在服务器上的一个值,具体到应用程序的一个用户。这是有必要的,原因有二。首先,HTTP是一个无状态协议。每个请求都是独立的,对之前或之后的请求一无所知。会话有助于服务器跟踪谁发送了请求。否则,你每次点击一个按钮或一个链接时都需要登录。
会话的第二个原因是为了对用户进行授权。会话标识符可以用来识别系统内具有特定权限的特定用户。应用程序将知道这个人是谁以及他们被允许做什么。
一个会话有两个组成部分。服务器端的一个数据存储器存储了一个会话标识符,并将其映射到用户的信息,如用户ID或购物车信息。同样的会话标识符被发送到浏览器的cookie中。浏览器将cookie存储在用户的系统中。客户端在每次请求时都会传递cookie,让服务器知道这个请求是来自同一个用户。大多数应用程序使用会话来跟踪用户在认证前和认证后的情况。
正确的会话管理对一个应用程序的安全是至关重要的。一个有效的会话ID具有与用户名/密码,甚至是第二因素认证令牌相同的信任度。
为什么糟糕的会话管理是危险的
糟糕的会话管理可能导致账户被完全接管。这意味着客户数据可能被盗,或者产品可能被欺诈性地购买。攻击者有几种方法来获得有效的会话ID。
当会话在关键时刻没有被改变时,例如当用户登录系统时,如果会话标识符可以使用URL来设置,就会发生会话固定攻击。以这种方式设置会话标识符可能被用来保持用户在使用相同认证源的不同应用程序中的登录状态。在这种情况下,攻击者可以浏览到一个网站并获得一个会话标识。然后,攻击者通过电子邮件向毫无戒心的受害者发送一个URL,URL中含有会话ID。受害者点击电子邮件中的URL并登录到网站。如果会话ID在登录时没有被旋转,攻击者现在就有一个有效的、经过验证的会话ID。这允许完全接管账户。
对不良会话管理的另一种攻击是暴力猜测攻击。当开发者试图创建他们自己的会话管理系统时,他们经常使用很容易猜到的会话ID。这些可能是一个序列(1,2,3)或某种可预测的模式。攻击者只是不断猜测会话ID,直到发现一个有效的ID。这也导致了账户被接管。
在一定时间过去后没有自动失效的会话可以被利用来攻击用户。一个成功的跨站请求伪造攻击取决于用户离开网站后仍然有效的会话。假设攻击者在用户访问的网站上放置一个iframe或图片。src"(源)属性被设置为受攻击网站的URL,并代表用户执行一个动作。例如,一个有漏洞的银行应用程序可以在未经用户许可的情况下将钱转到攻击者的账户。
会话管理可能很棘手,弱点可能是破坏性的。然而,这是一个众所周知的问题,它可以被解决。
打败不安全的会话管理
会话管理是任何网络应用的一个核心部分。因此,许多网络开发框架有内置的会话管理功能。这些系统已经被专家仔细检查过,以发现和剔除问题。使用它们。
良好的会话管理的一些共同属性包括。
生成攻击者无法猜测的随机会话ID
当用户注销时,会话将失效。
会话在经过一定时间后会自动失效
会话ID在用户登录后被改变
会话ID至少有128位,以防止暴力攻击
Spring、ASP.NET Core、Rails 和Django等网络框架都具有这些属性,在这种情况下应使用它们更高的安全标准。
一句话。不要从头开始创建你自己的会话管理系统。
一旦会话ID被创建,它们就需要被保护。将会话cookie的安全和HttpOnly标志设为 "true"。这可以确保它们的值不能被JavaScript检索,浏览器只会通过HTTPS发送cookie,防止攻击者在传输过程中窃取别人的会话。
保护你的会议
请查看我们的免费学习资源,了解更多关于安全会话管理的信息。学习如何保护你的会话将有助于防止用户账户被接管、声誉受损以及因安全漏洞而导致的收入损失。保护你的会话,保证你的用户安全。


Les sessions sont essentielles à une bonne expérience utilisateur lors de l'utilisation du Web. Cependant, une gestion incorrecte des sessions peut entraîner des failles de sécurité que les attaquants peuvent exploiter.
Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Secure Code Warrior 在整个软件开发周期中保障代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全负责人、开发人员、信息安全主管,还是其他任何参与安全工作的人员,我们都能协助您的组织降低不安全代码带来的风险。
预约演示Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.


你导航到一个网站并登录。像往常一样,你把你想买的产品装满了你的购物车。然后,哎呀--你的手一滑,关闭了浏览器标签。惊慌失措之后,你在浏览器中重新输入网站的URL,并按下 "Enter "键。你被带回了网站,登录了,而你所有的商品都还在购物车里。呜呼。
该网站是如何知道你是谁而不重新认证的?它识别了你,因为它在使用会话。会话是使用网络时获得良好用户体验的关键。然而,不正确地管理会话可能导致攻击者可以利用的安全漏洞。
现在让我们回顾一下会话管理的含义,薄弱的会话管理如何伤害你,以及你可以做什么来正确管理会话。
了解会话管理的弱点
会话是指存储在服务器上的一个值,具体到应用程序的一个用户。这是有必要的,原因有二。首先,HTTP是一个无状态协议。每个请求都是独立的,对之前或之后的请求一无所知。会话有助于服务器跟踪谁发送了请求。否则,你每次点击一个按钮或一个链接时都需要登录。
会话的第二个原因是为了对用户进行授权。会话标识符可以用来识别系统内具有特定权限的特定用户。应用程序将知道这个人是谁以及他们被允许做什么。
一个会话有两个组成部分。服务器端的一个数据存储器存储了一个会话标识符,并将其映射到用户的信息,如用户ID或购物车信息。同样的会话标识符被发送到浏览器的cookie中。浏览器将cookie存储在用户的系统中。客户端在每次请求时都会传递cookie,让服务器知道这个请求是来自同一个用户。大多数应用程序使用会话来跟踪用户在认证前和认证后的情况。
正确的会话管理对一个应用程序的安全是至关重要的。一个有效的会话ID具有与用户名/密码,甚至是第二因素认证令牌相同的信任度。
为什么糟糕的会话管理是危险的
糟糕的会话管理可能导致账户被完全接管。这意味着客户数据可能被盗,或者产品可能被欺诈性地购买。攻击者有几种方法来获得有效的会话ID。
当会话在关键时刻没有被改变时,例如当用户登录系统时,如果会话标识符可以使用URL来设置,就会发生会话固定攻击。以这种方式设置会话标识符可能被用来保持用户在使用相同认证源的不同应用程序中的登录状态。在这种情况下,攻击者可以浏览到一个网站并获得一个会话标识。然后,攻击者通过电子邮件向毫无戒心的受害者发送一个URL,URL中含有会话ID。受害者点击电子邮件中的URL并登录到网站。如果会话ID在登录时没有被旋转,攻击者现在就有一个有效的、经过验证的会话ID。这允许完全接管账户。
对不良会话管理的另一种攻击是暴力猜测攻击。当开发者试图创建他们自己的会话管理系统时,他们经常使用很容易猜到的会话ID。这些可能是一个序列(1,2,3)或某种可预测的模式。攻击者只是不断猜测会话ID,直到发现一个有效的ID。这也导致了账户被接管。
在一定时间过去后没有自动失效的会话可以被利用来攻击用户。一个成功的跨站请求伪造攻击取决于用户离开网站后仍然有效的会话。假设攻击者在用户访问的网站上放置一个iframe或图片。src"(源)属性被设置为受攻击网站的URL,并代表用户执行一个动作。例如,一个有漏洞的银行应用程序可以在未经用户许可的情况下将钱转到攻击者的账户。
会话管理可能很棘手,弱点可能是破坏性的。然而,这是一个众所周知的问题,它可以被解决。
打败不安全的会话管理
会话管理是任何网络应用的一个核心部分。因此,许多网络开发框架有内置的会话管理功能。这些系统已经被专家仔细检查过,以发现和剔除问题。使用它们。
良好的会话管理的一些共同属性包括。
生成攻击者无法猜测的随机会话ID
当用户注销时,会话将失效。
会话在经过一定时间后会自动失效
会话ID在用户登录后被改变
会话ID至少有128位,以防止暴力攻击
Spring、ASP.NET Core、Rails 和Django等网络框架都具有这些属性,在这种情况下应使用它们更高的安全标准。
一句话。不要从头开始创建你自己的会话管理系统。
一旦会话ID被创建,它们就需要被保护。将会话cookie的安全和HttpOnly标志设为 "true"。这可以确保它们的值不能被JavaScript检索,浏览器只会通过HTTPS发送cookie,防止攻击者在传输过程中窃取别人的会话。
保护你的会议
请查看我们的免费学习资源,了解更多关于安全会话管理的信息。学习如何保护你的会话将有助于防止用户账户被接管、声誉受损以及因安全漏洞而导致的收入损失。保护你的会话,保证你的用户安全。

你导航到一个网站并登录。像往常一样,你把你想买的产品装满了你的购物车。然后,哎呀--你的手一滑,关闭了浏览器标签。惊慌失措之后,你在浏览器中重新输入网站的URL,并按下 "Enter "键。你被带回了网站,登录了,而你所有的商品都还在购物车里。呜呼。
该网站是如何知道你是谁而不重新认证的?它识别了你,因为它在使用会话。会话是使用网络时获得良好用户体验的关键。然而,不正确地管理会话可能导致攻击者可以利用的安全漏洞。
现在让我们回顾一下会话管理的含义,薄弱的会话管理如何伤害你,以及你可以做什么来正确管理会话。
了解会话管理的弱点
会话是指存储在服务器上的一个值,具体到应用程序的一个用户。这是有必要的,原因有二。首先,HTTP是一个无状态协议。每个请求都是独立的,对之前或之后的请求一无所知。会话有助于服务器跟踪谁发送了请求。否则,你每次点击一个按钮或一个链接时都需要登录。
会话的第二个原因是为了对用户进行授权。会话标识符可以用来识别系统内具有特定权限的特定用户。应用程序将知道这个人是谁以及他们被允许做什么。
一个会话有两个组成部分。服务器端的一个数据存储器存储了一个会话标识符,并将其映射到用户的信息,如用户ID或购物车信息。同样的会话标识符被发送到浏览器的cookie中。浏览器将cookie存储在用户的系统中。客户端在每次请求时都会传递cookie,让服务器知道这个请求是来自同一个用户。大多数应用程序使用会话来跟踪用户在认证前和认证后的情况。
正确的会话管理对一个应用程序的安全是至关重要的。一个有效的会话ID具有与用户名/密码,甚至是第二因素认证令牌相同的信任度。
为什么糟糕的会话管理是危险的
糟糕的会话管理可能导致账户被完全接管。这意味着客户数据可能被盗,或者产品可能被欺诈性地购买。攻击者有几种方法来获得有效的会话ID。
当会话在关键时刻没有被改变时,例如当用户登录系统时,如果会话标识符可以使用URL来设置,就会发生会话固定攻击。以这种方式设置会话标识符可能被用来保持用户在使用相同认证源的不同应用程序中的登录状态。在这种情况下,攻击者可以浏览到一个网站并获得一个会话标识。然后,攻击者通过电子邮件向毫无戒心的受害者发送一个URL,URL中含有会话ID。受害者点击电子邮件中的URL并登录到网站。如果会话ID在登录时没有被旋转,攻击者现在就有一个有效的、经过验证的会话ID。这允许完全接管账户。
对不良会话管理的另一种攻击是暴力猜测攻击。当开发者试图创建他们自己的会话管理系统时,他们经常使用很容易猜到的会话ID。这些可能是一个序列(1,2,3)或某种可预测的模式。攻击者只是不断猜测会话ID,直到发现一个有效的ID。这也导致了账户被接管。
在一定时间过去后没有自动失效的会话可以被利用来攻击用户。一个成功的跨站请求伪造攻击取决于用户离开网站后仍然有效的会话。假设攻击者在用户访问的网站上放置一个iframe或图片。src"(源)属性被设置为受攻击网站的URL,并代表用户执行一个动作。例如,一个有漏洞的银行应用程序可以在未经用户许可的情况下将钱转到攻击者的账户。
会话管理可能很棘手,弱点可能是破坏性的。然而,这是一个众所周知的问题,它可以被解决。
打败不安全的会话管理
会话管理是任何网络应用的一个核心部分。因此,许多网络开发框架有内置的会话管理功能。这些系统已经被专家仔细检查过,以发现和剔除问题。使用它们。
良好的会话管理的一些共同属性包括。
生成攻击者无法猜测的随机会话ID
当用户注销时,会话将失效。
会话在经过一定时间后会自动失效
会话ID在用户登录后被改变
会话ID至少有128位,以防止暴力攻击
Spring、ASP.NET Core、Rails 和Django等网络框架都具有这些属性,在这种情况下应使用它们更高的安全标准。
一句话。不要从头开始创建你自己的会话管理系统。
一旦会话ID被创建,它们就需要被保护。将会话cookie的安全和HttpOnly标志设为 "true"。这可以确保它们的值不能被JavaScript检索,浏览器只会通过HTTPS发送cookie,防止攻击者在传输过程中窃取别人的会话。
保护你的会议
请查看我们的免费学习资源,了解更多关于安全会话管理的信息。学习如何保护你的会话将有助于防止用户账户被接管、声誉受损以及因安全漏洞而导致的收入损失。保护你的会话,保证你的用户安全。
你导航到一个网站并登录。像往常一样,你把你想买的产品装满了你的购物车。然后,哎呀--你的手一滑,关闭了浏览器标签。惊慌失措之后,你在浏览器中重新输入网站的URL,并按下 "Enter "键。你被带回了网站,登录了,而你所有的商品都还在购物车里。呜呼。
该网站是如何知道你是谁而不重新认证的?它识别了你,因为它在使用会话。会话是使用网络时获得良好用户体验的关键。然而,不正确地管理会话可能导致攻击者可以利用的安全漏洞。
现在让我们回顾一下会话管理的含义,薄弱的会话管理如何伤害你,以及你可以做什么来正确管理会话。
了解会话管理的弱点
会话是指存储在服务器上的一个值,具体到应用程序的一个用户。这是有必要的,原因有二。首先,HTTP是一个无状态协议。每个请求都是独立的,对之前或之后的请求一无所知。会话有助于服务器跟踪谁发送了请求。否则,你每次点击一个按钮或一个链接时都需要登录。
会话的第二个原因是为了对用户进行授权。会话标识符可以用来识别系统内具有特定权限的特定用户。应用程序将知道这个人是谁以及他们被允许做什么。
一个会话有两个组成部分。服务器端的一个数据存储器存储了一个会话标识符,并将其映射到用户的信息,如用户ID或购物车信息。同样的会话标识符被发送到浏览器的cookie中。浏览器将cookie存储在用户的系统中。客户端在每次请求时都会传递cookie,让服务器知道这个请求是来自同一个用户。大多数应用程序使用会话来跟踪用户在认证前和认证后的情况。
正确的会话管理对一个应用程序的安全是至关重要的。一个有效的会话ID具有与用户名/密码,甚至是第二因素认证令牌相同的信任度。
为什么糟糕的会话管理是危险的
糟糕的会话管理可能导致账户被完全接管。这意味着客户数据可能被盗,或者产品可能被欺诈性地购买。攻击者有几种方法来获得有效的会话ID。
当会话在关键时刻没有被改变时,例如当用户登录系统时,如果会话标识符可以使用URL来设置,就会发生会话固定攻击。以这种方式设置会话标识符可能被用来保持用户在使用相同认证源的不同应用程序中的登录状态。在这种情况下,攻击者可以浏览到一个网站并获得一个会话标识。然后,攻击者通过电子邮件向毫无戒心的受害者发送一个URL,URL中含有会话ID。受害者点击电子邮件中的URL并登录到网站。如果会话ID在登录时没有被旋转,攻击者现在就有一个有效的、经过验证的会话ID。这允许完全接管账户。
对不良会话管理的另一种攻击是暴力猜测攻击。当开发者试图创建他们自己的会话管理系统时,他们经常使用很容易猜到的会话ID。这些可能是一个序列(1,2,3)或某种可预测的模式。攻击者只是不断猜测会话ID,直到发现一个有效的ID。这也导致了账户被接管。
在一定时间过去后没有自动失效的会话可以被利用来攻击用户。一个成功的跨站请求伪造攻击取决于用户离开网站后仍然有效的会话。假设攻击者在用户访问的网站上放置一个iframe或图片。src"(源)属性被设置为受攻击网站的URL,并代表用户执行一个动作。例如,一个有漏洞的银行应用程序可以在未经用户许可的情况下将钱转到攻击者的账户。
会话管理可能很棘手,弱点可能是破坏性的。然而,这是一个众所周知的问题,它可以被解决。
打败不安全的会话管理
会话管理是任何网络应用的一个核心部分。因此,许多网络开发框架有内置的会话管理功能。这些系统已经被专家仔细检查过,以发现和剔除问题。使用它们。
良好的会话管理的一些共同属性包括。
生成攻击者无法猜测的随机会话ID
当用户注销时,会话将失效。
会话在经过一定时间后会自动失效
会话ID在用户登录后被改变
会话ID至少有128位,以防止暴力攻击
Spring、ASP.NET Core、Rails 和Django等网络框架都具有这些属性,在这种情况下应使用它们更高的安全标准。
一句话。不要从头开始创建你自己的会话管理系统。
一旦会话ID被创建,它们就需要被保护。将会话cookie的安全和HttpOnly标志设为 "true"。这可以确保它们的值不能被JavaScript检索,浏览器只会通过HTTPS发送cookie,防止攻击者在传输过程中窃取别人的会话。
保护你的会议
请查看我们的免费学习资源,了解更多关于安全会话管理的信息。学习如何保护你的会话将有助于防止用户账户被接管、声誉受损以及因安全漏洞而导致的收入损失。保护你的会话,保证你的用户安全。




%20(1).avif)
.avif)
