通过持久会话令牌公开 PII 和 SSN — 15000 美元的漏洞赏金

简介:侧翼应用程序

这一切都始于一个金融服务平台在 Hackerone 上开展了 3 倍的活动。我过去能够为这个程序找到几个严重性很高的漏洞,所以我对这个平台很熟悉,主平台非常坚固,所以我知道我必须采取不同的方法。

我决定“包抄”应用程序,而不是针对主要功能——专注于被忽视的端点和非常规的攻击面。该程序为您提供测试凭据,因此您可以直接登录测试环境并在具有数百个功能和端点的主应用程序中花费无数小时,这种方法在涉及活动的情况下效果不佳,采用直接方法意味着覆盖的领域太多,可能许多其他猎人正在研究相同的功能。

如果我这次要找到一个关键问题,我应该从侧面攻击应用程序,我的意思是关注被忽视的端点和功能,这些端点和功能在查看应用程序时不会自然出现。我开始在他们的应用程序和注册过程中四处寻找常见的嫌疑人 — 授权不当、IDOR 或一些配置错误的端点。

但后来,有些事情引起了我的注意。由于这是一家金融公司,注册过程并不简单,您必须使用您的财务信息创建申请表,然后提交以供批准。申请中的信息包括极其敏感的 PII,包括 SSN、居住地址、电子邮件和就业信息。

在注册过程中发现奇怪的代币

旅程从我访问注册页面开始:

https://example.com/test/apply/information

我填写了一些基本信息(姓名、电子邮件和其他详细信息),然后单击“下一步”。我在后台运行 Burp Suite,捕获所有请求。

这时我注意到了一些有趣的事情。服务器在标头中使用会话令牌进行响应:Set-Cookie

Set-Cookie: redactedSession=d54f59dbr202bb056df90ff55bc1e6611279; path=/

会话令牌总是值得研究的。它们掌握着用户身份验证和授权的关键,如果管理不善,可能会导致严重的安全问题。

但真正引起我兴趣的是什么呢?它看起来像一个 SHA-1 令牌,自然而然地,这个令牌永远不会过期。 JWT 令牌可能会过期,因为它们的有效负载中包含“exp”(过期)声明,对有效性施加时间限制,而 SHA1 令牌只是哈希值,没有任何内置的过期机制或时间感知。

步骤 2:调查令牌的行为

我知道,如果此令牌以任何方式泄露,攻击者可以简单地将其应用为会话 Cookie 并从受害者那里检索敏感信息。我继续注册过程,填写更多个人详细信息。最后,我到达了最后一步 — 帐户创建成功!应用程序将我重定向到此页面:

https://example.com/apply/information/?s=success&token=50e3ab903b3a054835d1b2d74c4bbd711278

看到那个参数了吗?那是我的会话令牌,直接嵌入到 URL 中。token

为什么这很糟糕?因为 URL 经常被记录、存储在浏览器历史记录中,甚至被搜索引擎索引。这意味着我的会话令牌可能对以下人员可见:

  • 搜索引擎

    (如果已编入索引)

  • 第三方分析服务
  • 存储 URL 请求的服务器日志

为了证实我的怀疑,我复制了会话令牌并提出了一个简单的请求:

GET /apply/information/test.step.php HTTP/2Host: example.comCookie: redactedSession=50e3ab903b3a050035d1b2d74c4bbd711278

成功。 我的所有个人数据都被显示出来了——社会安全号码、出生日期、家庭住址、电子邮件。无需身份验证。

我现在所要做的就是尝试找到公开的令牌。

这是在野外发生的吗?(谷歌 Dorking 来救援)

在这一点上,我知道这很严重。但还有一个问题:这些会话令牌是否已经暴露在某个地方?

为了找出答案,我使用了古老但有效的 - Google Dorking。

我设计了一个简单的搜索查询来查找包含注册路径的索引 URL:

site:example.com /apply/

就这样。我发现多个在 Google 上编入索引的注册 URL,每个 URL 都包含持久会话令牌。

我单击其中一个结果,从 URL 复制令牌,并使用它发出请求。

成功了。 我可以访问其他人的敏感信息。

此时,我意识到这不仅仅是一个边缘情况 — 它在生产中积极暴露了真实的用户数据。

Wayback Machine 的作用

在这一点上,我想知道:这种情况已经发生了多久了?

进入 Wayback Machine。 这个 Internet 档案会随着时间的推移保留网页的快照,这意味着即使公司修复了漏洞,旧版本可能仍包含暴露的敏感信息。

我在 Wayback Machine 上搜索了存档的注册页面:

https://web.archive.org/web/*/https://example.com/apply/information/*

果然,我找到了注册 URL 的旧实例 — 其中一些包含仍然有效的会话令牌。

为了在所有可能的来源(如 AlienVault、CommonCrawl 等)中搜索更多公开的 URL,我使用了 Gau:https://github.com/lc/gau

这证明,这个漏洞可能已经存在了数月,甚至数年,并影响了数百名客户。

第三方数据泄露

就在我认为事情不会变得更糟时,他们确实变糟了。

在分析我的 Burp Suite HTTP 历史记录时,我搜索了我的会话令牌,以查看它被发送到的其他位置。就在这时,我发现了另一个泄漏

我的令牌被传输到第三方分析服务,包括:

  • https://bat.bing.com
  • https://www.google-analytics.com

这意味着外部公司在不知情的情况下通过跟踪脚本接收了身份验证令牌

这种数据泄露对攻击者来说是一座金矿,因为它允许他们收集泄露的会话令牌,甚至无需与网站交互。

影响:为什么这是一个关键漏洞

此问题很严重,原因如下:

  1. 未经身份验证的数据泄露

     — 任何拥有会话令牌的人都可以访问受害者的敏感数据,包括 SSN、地址和出生日期。

  2. 持久会话令牌

     — 令牌永不过期,这意味着攻击者可以无限期地使用泄露的令牌

  3. 通过搜索引擎进行公共索引

     — Google 存储这些 URL,使任何人都可以访问它们。

  4. 泄露给第三方

     — 敏感的身份验证令牌被发送给分析提供商,从而扩大了攻击面。

我因这个严重漏洞获得了 15000 USD 的赏金。

关键要点

1. 始终检查会话令牌

  • 检查它们的分配方式。

  • 查看它们是否过期。

  • 测试攻击者是否可以重复使用它们。

2. 在 URL 中查找公开的令牌

  • 如果您在查询参数中看到身份验证令牌,则这是一个危险信号。

  • 尝试搜索这些 URL 的索引版本。

3. 使用 Google Dorking 查找暴露的数据

一些有用的查询:

  • https://gist.github.com/sundowndev/283efaddbcf896ab405488330d1bbc06

4. 不要忘记 Wayback Machine

  • 如果您怀疑存在漏洞,请检查该网站过去的快照。

  • 有时,修复错误并不能消除历史曝光。

结论

最初是简单的注册流程分析,后来变成了发现一个影响很大的漏洞。

通过遵循结构化流程 — 检查会话处理、使用 Google Dorking、利用 Wayback Machine 并分析流量泄漏 — 我能够发现一个严重的数据泄露问题。

对于漏洞赏金猎人来说,这是一个完美的例子,说明了为什么耐心、好奇心和毅力会得到回报。有时,只需在 URL 中发现一个小细节,就可以解开更大的东西。

其它相关课程

图片

图片

图片

图片

图片

rust语言全栈开发视频教程-第一季(2025最新)

图片

图片

图片

详细目录

mac/ios安全视频

图片

QT开发底层原理与安全逆向视频教程

图片

linux文件系统存储与文件过滤安全开发视频教程(2024最新)

图片

linux高级usb安全开发与源码分析视频教程

图片

linux程序设计与安全开发

图片

 

 

  • 图片

  • windows网络安全防火墙与虚拟网卡(更新完成)

  • 图片

  • windows文件过滤(更新完成)

  • 图片

  • USB过滤(更新完成)

  • 图片

  • 游戏安全(更新中)

  • 图片

  • ios逆向

  • 图片

  • windbg

  • 图片

  • 还有很多免费教程(限学员)

  • 图片

    图片

    图片

  • 图片

  • windows恶意软件开发与对抗视频教程

  • 图片

  • 图片

  • 图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C-haidragon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值