SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

程序员征服安全:分享与学习系列-会话管理的弱点

Jaap Karan Singh
Veröffentlicht Jan 31, 2019
Zuletzt aktualisiert am 10. März 2026

您导航到网站并登录。像往常一样,你在购物车里装满你想购买的产品。然后,大声疾呼-你的手滑动并关闭浏览器选项卡。稍微惊慌失措后,你将网站的网址重新输入到浏览器中,然后点击 “Enter” 键。您被带回网站并登录,所有物品仍在购物车中。呼。

如果没有重新进行身份验证,该网站是怎么知道你是谁的?它之所以识别出你的身份,是因为它使用的是会话。会话是使用网络时获得良好用户体验的关键。但是,不当管理会话会导致安全漏洞,攻击者可以利用这些漏洞。

现在让我们回顾一下会话管理的含义,薄弱的会话管理会对你造成多大的伤害,以及你可以做些什么来正确管理会话。

了解会话管理的弱点

会话是指存储在服务器上的值,特定于应用程序的单个用户。这是必要的,原因有两个:首先,HTTP 是一种无状态协议。每个请求都是独立的,不知道在请求之前或之后提出的请求。会话帮助服务器跟踪谁发送了请求。否则,每次点击按钮或链接时都需要登录。

会话的第二个原因是用户的授权。会话标识符可用于识别系统内具有特定权限的特定用户。该应用程序将知道该人是谁以及他们可以做什么。

一个会话有两个组成部分。服务器端的数据存储存储会话标识符并将其映射到有关用户的信息,例如他们的用户 ID 或购物车信息。相同的会话标识符以 cookie 的形式发送到浏览器。Cookie 由浏览器存储在用户的系统上。客户端在每个请求中传递 cookie,让服务器知道该请求来自同一个用户。大多数应用程序使用会话来跟踪用户在身份验证前和身份验证后。

适当的会话管理对于应用程序的安全性至关重要。有效的会话 ID 与用户名/密码,甚至第二因素身份验证令牌具有相同的信任级别。

为什么会话管理不善很危险

会话管理不善可能会导致账户完全接管。这意味着客户数据可能会被盗,或者可以通过欺诈手段购买产品。攻击者可以通过多种方式获取有效的会话 ID。

一个 会话固定攻击 发生在关键时刻未更改会话时,例如用户登录系统时,以及是否可以使用 URL 设置会话标识符时。以这种方式设置会话标识符可用于让用户在使用相同身份验证源的不同应用程序上保持登录状态。在这种情况下,攻击者可以浏览网站并获得会话 ID。然后,攻击者通过电子邮件向毫无戒心的受害者发送一个 URL,URL 中包含会话 ID。受害者点击电子邮件中的网址并登录该网站。如果登录时会话 ID 未轮换,则攻击者现在拥有一个经过身份验证的有效会话 ID。这允许完全接管账户。

另一种针对会话管理不善的攻击是暴力猜测攻击。当开发人员尝试创建自己的会话管理系统时,他们通常使用很容易猜到的会话 ID。这些可能是序列(1、2、3)或某种可预测的模式。攻击者只是不断猜测会话 ID,直到发现有效的会话 ID。这也导致账户被接管。

经过一定时间后未自动失效的会话可能会被利用来攻击用户。一个成功的 跨站请求伪造 攻击取决于用户离开站点后仍然有效的会话。假设攻击者在用户访问的网站上放置了 iframe 或图像。“src”(来源)属性设置为易受攻击站点的 URL,并代表用户执行操作。例如,可以让易受攻击的银行应用程序在未经用户许可的情况下将资金转入攻击者的账户。

会话管理可能很棘手,弱点可能是毁灭性的。但是,这是一个众所周知的问题,可以解决。

打败不安全的会话管理

会话管理是任何 Web 应用程序的核心部分。因此,许多 Web 开发框架都有内置的会话管理功能。这些系统已经过专家的审查,以发现和消除问题。使用它们。

的一些常见特性 良好的会话管理 包括:

随机生成的会话 ID,攻击者无法猜到

当用户注销时,会话将失效

经过一定时间后,会话将自动失效

用户登录后会话 ID 会发生变化

长度至少为 128 位的会话 ID,以防止暴力攻击

像 Spring 这样的 Web 框架 ASP.NET 核心轨道,以及 詹戈 具有这些特性,在这种情况下,应将其用于更高的安全标准。

底线:不要从头开始创建自己的会话管理系统。

创建会话 ID 后,需要对其进行保护。设置 安全和 HTTPOnly 标志 改为 “true” 开启会话 cookie。这样可以确保无法使用JavaScript检索其值,并且浏览器将仅通过HTTPS发送cookie,从而防止攻击者在传输过程中窃取某人的会话。

保护您的会话

查看我们的免费学习资源 了解有关安全会话管理的更多信息。学习如何保护您的会话将有助于防止用户帐户被盗、声誉受损以及由于安全漏洞而造成的收入损失。保护您的会话并确保用户安全。

Ressourcen anzeigen
Ressourcen anzeigen

会话是使用网络时获得良好用户体验的关键。但是,不当管理会话会导致安全漏洞,攻击者可以利用这些漏洞。

Interessiert an mehr?

Jaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

mehr erfahren

Secure Code Warrior kann Ihrem Unternehmen dabei helfen, Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, Chief Information Security Officer oder in einem anderen sicherheitsrelevanten Bereich tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu minimieren.

Demo buchen
Teilen auf:
LinkedIn-MarkenSozialx Logo
作者
Jaap Karan Singh
Veröffentlicht Jan 31, 2019

Jaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Teilen auf:
LinkedIn-MarkenSozialx Logo

您导航到网站并登录。像往常一样,你在购物车里装满你想购买的产品。然后,大声疾呼-你的手滑动并关闭浏览器选项卡。稍微惊慌失措后,你将网站的网址重新输入到浏览器中,然后点击 “Enter” 键。您被带回网站并登录,所有物品仍在购物车中。呼。

如果没有重新进行身份验证,该网站是怎么知道你是谁的?它之所以识别出你的身份,是因为它使用的是会话。会话是使用网络时获得良好用户体验的关键。但是,不当管理会话会导致安全漏洞,攻击者可以利用这些漏洞。

现在让我们回顾一下会话管理的含义,薄弱的会话管理会对你造成多大的伤害,以及你可以做些什么来正确管理会话。

了解会话管理的弱点

会话是指存储在服务器上的值,特定于应用程序的单个用户。这是必要的,原因有两个:首先,HTTP 是一种无状态协议。每个请求都是独立的,不知道在请求之前或之后提出的请求。会话帮助服务器跟踪谁发送了请求。否则,每次点击按钮或链接时都需要登录。

会话的第二个原因是用户的授权。会话标识符可用于识别系统内具有特定权限的特定用户。该应用程序将知道该人是谁以及他们可以做什么。

一个会话有两个组成部分。服务器端的数据存储存储会话标识符并将其映射到有关用户的信息,例如他们的用户 ID 或购物车信息。相同的会话标识符以 cookie 的形式发送到浏览器。Cookie 由浏览器存储在用户的系统上。客户端在每个请求中传递 cookie,让服务器知道该请求来自同一个用户。大多数应用程序使用会话来跟踪用户在身份验证前和身份验证后。

适当的会话管理对于应用程序的安全性至关重要。有效的会话 ID 与用户名/密码,甚至第二因素身份验证令牌具有相同的信任级别。

为什么会话管理不善很危险

会话管理不善可能会导致账户完全接管。这意味着客户数据可能会被盗,或者可以通过欺诈手段购买产品。攻击者可以通过多种方式获取有效的会话 ID。

一个 会话固定攻击 发生在关键时刻未更改会话时,例如用户登录系统时,以及是否可以使用 URL 设置会话标识符时。以这种方式设置会话标识符可用于让用户在使用相同身份验证源的不同应用程序上保持登录状态。在这种情况下,攻击者可以浏览网站并获得会话 ID。然后,攻击者通过电子邮件向毫无戒心的受害者发送一个 URL,URL 中包含会话 ID。受害者点击电子邮件中的网址并登录该网站。如果登录时会话 ID 未轮换,则攻击者现在拥有一个经过身份验证的有效会话 ID。这允许完全接管账户。

另一种针对会话管理不善的攻击是暴力猜测攻击。当开发人员尝试创建自己的会话管理系统时,他们通常使用很容易猜到的会话 ID。这些可能是序列(1、2、3)或某种可预测的模式。攻击者只是不断猜测会话 ID,直到发现有效的会话 ID。这也导致账户被接管。

经过一定时间后未自动失效的会话可能会被利用来攻击用户。一个成功的 跨站请求伪造 攻击取决于用户离开站点后仍然有效的会话。假设攻击者在用户访问的网站上放置了 iframe 或图像。“src”(来源)属性设置为易受攻击站点的 URL,并代表用户执行操作。例如,可以让易受攻击的银行应用程序在未经用户许可的情况下将资金转入攻击者的账户。

会话管理可能很棘手,弱点可能是毁灭性的。但是,这是一个众所周知的问题,可以解决。

打败不安全的会话管理

会话管理是任何 Web 应用程序的核心部分。因此,许多 Web 开发框架都有内置的会话管理功能。这些系统已经过专家的审查,以发现和消除问题。使用它们。

的一些常见特性 良好的会话管理 包括:

随机生成的会话 ID,攻击者无法猜到

当用户注销时,会话将失效

经过一定时间后,会话将自动失效

用户登录后会话 ID 会发生变化

长度至少为 128 位的会话 ID,以防止暴力攻击

像 Spring 这样的 Web 框架 ASP.NET 核心轨道,以及 詹戈 具有这些特性,在这种情况下,应将其用于更高的安全标准。

底线:不要从头开始创建自己的会话管理系统。

创建会话 ID 后,需要对其进行保护。设置 安全和 HTTPOnly 标志 改为 “true” 开启会话 cookie。这样可以确保无法使用JavaScript检索其值,并且浏览器将仅通过HTTPS发送cookie,从而防止攻击者在传输过程中窃取某人的会话。

保护您的会话

查看我们的免费学习资源 了解有关安全会话管理的更多信息。学习如何保护您的会话将有助于防止用户帐户被盗、声誉受损以及由于安全漏洞而造成的收入损失。保护您的会话并确保用户安全。

Ressourcen anzeigen
Ressourcen anzeigen

Füllen Sie das folgende Formular aus, um den Bericht herunterzuladen.

Wir möchten Ihre Erlaubnis einholen, Ihnen Informationen über unsere Produkte und/oder relevante Themen zur Sicherheit von Codes zuzusenden. Wir werden Ihre personenbezogenen Daten stets mit größter Sorgfalt behandeln und sie niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Einreichen
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte die „Analyse“-Cookies. Nach Abschluss können Sie diese wieder deaktivieren.

您导航到网站并登录。像往常一样,你在购物车里装满你想购买的产品。然后,大声疾呼-你的手滑动并关闭浏览器选项卡。稍微惊慌失措后,你将网站的网址重新输入到浏览器中,然后点击 “Enter” 键。您被带回网站并登录,所有物品仍在购物车中。呼。

如果没有重新进行身份验证,该网站是怎么知道你是谁的?它之所以识别出你的身份,是因为它使用的是会话。会话是使用网络时获得良好用户体验的关键。但是,不当管理会话会导致安全漏洞,攻击者可以利用这些漏洞。

现在让我们回顾一下会话管理的含义,薄弱的会话管理会对你造成多大的伤害,以及你可以做些什么来正确管理会话。

了解会话管理的弱点

会话是指存储在服务器上的值,特定于应用程序的单个用户。这是必要的,原因有两个:首先,HTTP 是一种无状态协议。每个请求都是独立的,不知道在请求之前或之后提出的请求。会话帮助服务器跟踪谁发送了请求。否则,每次点击按钮或链接时都需要登录。

会话的第二个原因是用户的授权。会话标识符可用于识别系统内具有特定权限的特定用户。该应用程序将知道该人是谁以及他们可以做什么。

一个会话有两个组成部分。服务器端的数据存储存储会话标识符并将其映射到有关用户的信息,例如他们的用户 ID 或购物车信息。相同的会话标识符以 cookie 的形式发送到浏览器。Cookie 由浏览器存储在用户的系统上。客户端在每个请求中传递 cookie,让服务器知道该请求来自同一个用户。大多数应用程序使用会话来跟踪用户在身份验证前和身份验证后。

适当的会话管理对于应用程序的安全性至关重要。有效的会话 ID 与用户名/密码,甚至第二因素身份验证令牌具有相同的信任级别。

为什么会话管理不善很危险

会话管理不善可能会导致账户完全接管。这意味着客户数据可能会被盗,或者可以通过欺诈手段购买产品。攻击者可以通过多种方式获取有效的会话 ID。

一个 会话固定攻击 发生在关键时刻未更改会话时,例如用户登录系统时,以及是否可以使用 URL 设置会话标识符时。以这种方式设置会话标识符可用于让用户在使用相同身份验证源的不同应用程序上保持登录状态。在这种情况下,攻击者可以浏览网站并获得会话 ID。然后,攻击者通过电子邮件向毫无戒心的受害者发送一个 URL,URL 中包含会话 ID。受害者点击电子邮件中的网址并登录该网站。如果登录时会话 ID 未轮换,则攻击者现在拥有一个经过身份验证的有效会话 ID。这允许完全接管账户。

另一种针对会话管理不善的攻击是暴力猜测攻击。当开发人员尝试创建自己的会话管理系统时,他们通常使用很容易猜到的会话 ID。这些可能是序列(1、2、3)或某种可预测的模式。攻击者只是不断猜测会话 ID,直到发现有效的会话 ID。这也导致账户被接管。

经过一定时间后未自动失效的会话可能会被利用来攻击用户。一个成功的 跨站请求伪造 攻击取决于用户离开站点后仍然有效的会话。假设攻击者在用户访问的网站上放置了 iframe 或图像。“src”(来源)属性设置为易受攻击站点的 URL,并代表用户执行操作。例如,可以让易受攻击的银行应用程序在未经用户许可的情况下将资金转入攻击者的账户。

会话管理可能很棘手,弱点可能是毁灭性的。但是,这是一个众所周知的问题,可以解决。

打败不安全的会话管理

会话管理是任何 Web 应用程序的核心部分。因此,许多 Web 开发框架都有内置的会话管理功能。这些系统已经过专家的审查,以发现和消除问题。使用它们。

的一些常见特性 良好的会话管理 包括:

随机生成的会话 ID,攻击者无法猜到

当用户注销时,会话将失效

经过一定时间后,会话将自动失效

用户登录后会话 ID 会发生变化

长度至少为 128 位的会话 ID,以防止暴力攻击

像 Spring 这样的 Web 框架 ASP.NET 核心轨道,以及 詹戈 具有这些特性,在这种情况下,应将其用于更高的安全标准。

底线:不要从头开始创建自己的会话管理系统。

创建会话 ID 后,需要对其进行保护。设置 安全和 HTTPOnly 标志 改为 “true” 开启会话 cookie。这样可以确保无法使用JavaScript检索其值,并且浏览器将仅通过HTTPS发送cookie,从而防止攻击者在传输过程中窃取某人的会话。

保护您的会话

查看我们的免费学习资源 了解有关安全会话管理的更多信息。学习如何保护您的会话将有助于防止用户帐户被盗、声誉受损以及由于安全漏洞而造成的收入损失。保护您的会话并确保用户安全。

Webinar ansehen
Fangen wir an.
mehr erfahren

Klicken Sie auf den folgenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior kann Ihrem Unternehmen dabei helfen, Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, Chief Information Security Officer oder in einem anderen sicherheitsrelevanten Bereich tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu minimieren.

Bericht anzeigenDemo buchen
Ressourcen anzeigen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Interessiert an mehr?

Teilen auf:
LinkedIn-MarkenSozialx Logo
作者
Jaap Karan Singh
Veröffentlicht Jan 31, 2019

Jaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Teilen auf:
LinkedIn-MarkenSozialx Logo

您导航到网站并登录。像往常一样,你在购物车里装满你想购买的产品。然后,大声疾呼-你的手滑动并关闭浏览器选项卡。稍微惊慌失措后,你将网站的网址重新输入到浏览器中,然后点击 “Enter” 键。您被带回网站并登录,所有物品仍在购物车中。呼。

如果没有重新进行身份验证,该网站是怎么知道你是谁的?它之所以识别出你的身份,是因为它使用的是会话。会话是使用网络时获得良好用户体验的关键。但是,不当管理会话会导致安全漏洞,攻击者可以利用这些漏洞。

现在让我们回顾一下会话管理的含义,薄弱的会话管理会对你造成多大的伤害,以及你可以做些什么来正确管理会话。

了解会话管理的弱点

会话是指存储在服务器上的值,特定于应用程序的单个用户。这是必要的,原因有两个:首先,HTTP 是一种无状态协议。每个请求都是独立的,不知道在请求之前或之后提出的请求。会话帮助服务器跟踪谁发送了请求。否则,每次点击按钮或链接时都需要登录。

会话的第二个原因是用户的授权。会话标识符可用于识别系统内具有特定权限的特定用户。该应用程序将知道该人是谁以及他们可以做什么。

一个会话有两个组成部分。服务器端的数据存储存储会话标识符并将其映射到有关用户的信息,例如他们的用户 ID 或购物车信息。相同的会话标识符以 cookie 的形式发送到浏览器。Cookie 由浏览器存储在用户的系统上。客户端在每个请求中传递 cookie,让服务器知道该请求来自同一个用户。大多数应用程序使用会话来跟踪用户在身份验证前和身份验证后。

适当的会话管理对于应用程序的安全性至关重要。有效的会话 ID 与用户名/密码,甚至第二因素身份验证令牌具有相同的信任级别。

为什么会话管理不善很危险

会话管理不善可能会导致账户完全接管。这意味着客户数据可能会被盗,或者可以通过欺诈手段购买产品。攻击者可以通过多种方式获取有效的会话 ID。

一个 会话固定攻击 发生在关键时刻未更改会话时,例如用户登录系统时,以及是否可以使用 URL 设置会话标识符时。以这种方式设置会话标识符可用于让用户在使用相同身份验证源的不同应用程序上保持登录状态。在这种情况下,攻击者可以浏览网站并获得会话 ID。然后,攻击者通过电子邮件向毫无戒心的受害者发送一个 URL,URL 中包含会话 ID。受害者点击电子邮件中的网址并登录该网站。如果登录时会话 ID 未轮换,则攻击者现在拥有一个经过身份验证的有效会话 ID。这允许完全接管账户。

另一种针对会话管理不善的攻击是暴力猜测攻击。当开发人员尝试创建自己的会话管理系统时,他们通常使用很容易猜到的会话 ID。这些可能是序列(1、2、3)或某种可预测的模式。攻击者只是不断猜测会话 ID,直到发现有效的会话 ID。这也导致账户被接管。

经过一定时间后未自动失效的会话可能会被利用来攻击用户。一个成功的 跨站请求伪造 攻击取决于用户离开站点后仍然有效的会话。假设攻击者在用户访问的网站上放置了 iframe 或图像。“src”(来源)属性设置为易受攻击站点的 URL,并代表用户执行操作。例如,可以让易受攻击的银行应用程序在未经用户许可的情况下将资金转入攻击者的账户。

会话管理可能很棘手,弱点可能是毁灭性的。但是,这是一个众所周知的问题,可以解决。

打败不安全的会话管理

会话管理是任何 Web 应用程序的核心部分。因此,许多 Web 开发框架都有内置的会话管理功能。这些系统已经过专家的审查,以发现和消除问题。使用它们。

的一些常见特性 良好的会话管理 包括:

随机生成的会话 ID,攻击者无法猜到

当用户注销时,会话将失效

经过一定时间后,会话将自动失效

用户登录后会话 ID 会发生变化

长度至少为 128 位的会话 ID,以防止暴力攻击

像 Spring 这样的 Web 框架 ASP.NET 核心轨道,以及 詹戈 具有这些特性,在这种情况下,应将其用于更高的安全标准。

底线:不要从头开始创建自己的会话管理系统。

创建会话 ID 后,需要对其进行保护。设置 安全和 HTTPOnly 标志 改为 “true” 开启会话 cookie。这样可以确保无法使用JavaScript检索其值,并且浏览器将仅通过HTTPS发送cookie,从而防止攻击者在传输过程中窃取某人的会话。

保护您的会话

查看我们的免费学习资源 了解有关安全会话管理的更多信息。学习如何保护您的会话将有助于防止用户帐户被盗、声誉受损以及由于安全漏洞而造成的收入损失。保护您的会话并确保用户安全。

Verzeichnis

PDF herunterladen
Ressourcen anzeigen
Interessiert an mehr?

Jaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

mehr erfahren

Secure Code Warrior kann Ihrem Unternehmen dabei helfen, Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, Chief Information Security Officer oder in einem anderen sicherheitsrelevanten Bereich tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu minimieren.

Demo buchen下载
Teilen auf:
LinkedIn-MarkenSozialx Logo
Ressourcenzentrum

Ressourcen, die Ihnen den Einstieg erleichtern

Weitere Beiträge
Ressourcenzentrum

Ressourcen, die Ihnen den Einstieg erleichtern

Weitere Beiträge