导致我获得第一个赏金的简单漏洞(可复用的激活链接 → 账户接管)

82 阅读3分钟

官网:http://securitytech.cc/

导致我获得第一个赏金的简单漏洞(可复用的激活链接 → 账户接管)

让我们直接进入正题。

🔎 发现阶段

这个漏洞一开始非常简单,但属于那种 逻辑上非常细微、却容易被忽视的点。

先假设目标网站叫 target.com。

当我创建新账号时,系统自动给我发了一封“激活链接”的邮件,用于验证账号。 我点击激活链接后 —— 就直接登录到账号了!

Press enter or click to view image in full size

注:由于网站体量很大、功能很多,我花了一天时间研究它的业务逻辑。理解业务逻辑是非常关键的。

第二天我开始正式测试。 我用另一个账号注册,收到新的激活链接。 我再次点击它 —— 又被自动登录了。

我的脑子一下停住了:

“为什么会直接登录?激活链接不应该只是用来验证邮箱的吗?它不应该自动认证用户进入系统!”

🔐 正常做法

激活链接应该是一次性的,它的唯一作用:

把账号状态从 “未验证” → “已验证”

然后立即失效

并 不应该 自动登录用户

🧪 确认漏洞

我再次打开完全相同的激活链接。

结果: 它又一次把我登录进账号!

这就是漏洞: 激活链接是可重复使用的,并且每次都会直接登录。

换句话说,这条激活链接本质上变成了:

“一个无需密码、可复用、48 小时有效的永久登录链接”

这是非常危险的。

📬 我向厂商提交了报告

第二天很快收到安全团队的回复:

Press enter or click to view image in full size

他们的回复只提到了:

链接 48 小时后过期

但忽略了核心问题:

❗ 漏洞点 1:链接可重复使用 ❗ 漏洞点 2:链接自动授予登录状态(相当于 session token)

这两点组合起来 —— 构成完整的账号接管(Account Takeover)漏洞。

于是我写了更详细的跟进说明:

Press enter or click to view image in full size

说明清楚后,他们重新打开报告状态为 “Under Review”。

💰 七天后 —— 我收到了赏金!

Press enter or click to view image in full size

那一刻真的非常激动,因为这是我人生中的第一个赏金。

🧷 技术归类

这个漏洞属于:

破坏认证 (Broken Authentication)

授权控制缺失 (Broken Access Control)

因为:

验证链接同时也作为认证 token

链接可复用

48 小时内任何人得到这个链接都能登录受害者账户

📌 最后的总结(很重要)

务必理解业务逻辑 很多严重漏洞来自流程设计缺陷,而不是复杂代码。

小细节往往是大漏洞 激活链接本该一次性,却变成了登录凭证。

报告被拒绝不代表你错了 关键是要清楚解释“影响范围”和“实际利用方式”。

直到下一篇见 —— 祝你发现更多漏洞!