介绍
在本实验中,你将学习如何使用 Burp Sequencer,这是 Burp Suite 中用于分析应用程序会话令牌(session tokens)随机性质量的强大工具。可预测的会话令牌可能被攻击者猜测或计算出来,从而导致会话劫持(session hijacking)漏洞。
完成本实验后,你将能够捕获登录请求,将其发送到 Burp Sequencer,配置该工具以分析特定的令牌,并解读结果以评估其随机性。这是 Web 应用程序安全评估的一项基本技能。
在本实验中,你将学习如何使用 Burp Sequencer,这是 Burp Suite 中用于分析应用程序会话令牌(session tokens)随机性质量的强大工具。可预测的会话令牌可能被攻击者猜测或计算出来,从而导致会话劫持(session hijacking)漏洞。
完成本实验后,你将能够捕获登录请求,将其发送到 Burp Sequencer,配置该工具以分析特定的令牌,并解读结果以评估其随机性。这是 Web 应用程序安全评估的一项基本技能。
在此步骤中,你将启动 Burp Suite,使用其内置浏览器登录测试应用程序,并找到建立会话的请求。
首先,你需要启动 Burp Suite。通常可以在应用程序菜单中找到它,或者从终端启动。在本实验中,我们将假设 Burp Suite 已准备好启动。
Proxy 选项卡,然后是 Intercept 子选项卡。通过点击 Intercept is on 按钮,确保当前拦截已关闭(off)。Proxy -> HTTP history 选项卡。所有流量都将在此处记录。Open Browser 按钮。这将启动 Burp 预配置的 Chromium 浏览器。user,密码输入 password,然后点击登录按钮。Proxy -> HTTP history 选项卡。你应该会看到一个请求列表。找到发送到登录端点的 POST 请求。点击它。Response 选项卡。查找 Set-Cookie 标头。它看起来会像这样:HTTP/1.1 302 Found
...
Set-Cookie: sessionID=q8f...; path=/; HttpOnly
...
这个 sessionID 就是我们想要分析的令牌。你已成功识别出目标请求。
在此步骤中,你将把已识别的登录请求发送到 Burp Sequencer 工具进行分析。
现在你已经在 Proxy history 中找到了设置会话 Cookie 的 POST 请求,你需要将其隔离以进行分析。
Proxy -> HTTP history 选项卡中,确保已选中正确的 POST 请求。Send to Sequencer。此操作会将选定请求的副本发送到 Sequencer 工具。你现在会看到 Sequencer 选项卡标题变为橙色,表示它已收到新项目。
Sequencer 选项卡切换到该工具。你将在“Live Capture Request”面板中看到刚刚发送的请求已加载。在此步骤中,你将确认 Burp Sequencer 是否能正确发出请求并接收包含会话令牌的响应。
在 Sequencer 选项卡内,你将看到从 Proxy 发送的请求。在配置令牌位置之前,你需要确保 Sequencer 能够成功获取响应。
Sequencer 选项卡中,查看“Select Live Capture Request”面板。请求应该已经加载。Start live capture 按钮。Burp 将发送一次请求,并显示它收到的响应。这使你能够验证请求是否有效,以及服务器是否按预期响应了会话令牌。响应将出现在请求下方的面板中。
你应该会在响应中看到 Set-Cookie 标头,就像你在 Proxy history 中看到的一样。这确认了 Sequencer 已准备好进行下一步配置。如果出现错误,你可能需要返回 Proxy 并查找其他请求。
在此步骤中,你将告知 Burp Sequencer 在服务器响应中确切的位置来查找会话令牌。这是最重要的配置步骤。
启动实时捕获并收到有效响应后,你必须定义要分析的令牌的位置。
Set-Cookie 标头中,因此第二个选项最简单。sessionID)。通过选择 Cookie,你是在告诉 Sequencer 从它收到的每个响应中自动提取该特定 Cookie 的值。此值将用于分析随机性。
选择 Cookie 后,配置即完成。Sequencer 现在知道要发送哪个请求以及在响应中何处找到令牌。
在此步骤中,你将开始收集大量的令牌样本,然后使用 Sequencer 的统计引擎来分析它们的随机性。
配置完成后,你就可以开始分析了。
Start live capture 按钮。这次,Burp 将持续发送请求,并从每个响应中收集会话令牌。Request count 和 Tokens collected 的数字增加。Pause 按钮,然后点击 Analyze now 按钮。Burp 将对收集到的令牌执行一系列统计测试。结果将显示在几个选项卡中。
Summary 选项卡。它为你提供了令牌质量的整体评估。最重要的指标是随机性的整体质量,其估算值为有效熵(bits of effective entropy)。高熵值(例如 128 bits)表示令牌非常强大且不可预测。低熵值(例如小于 64 bits)可能表明存在可能被利用的弱点。摘要将为你提供清晰的“Excellent”、“Good”、“Poor”或“Insecure”评级。
你可以探索其他选项卡,如 Character-level analysis 和 Bit-level analysis,以深入了解发现到的任何潜在弱点。
在本实验中,你已成功学习如何使用 Burp Sequencer 对会话令牌执行统计分析。
你实践了整个工作流程:
此过程是任何 Web 应用程序安全测试的关键部分,因为它有助于识别最常见和最严重的漏洞之一:可预测的会话管理。