官网: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 小时内任何人得到这个链接都能登录受害者账户
📌 最后的总结(很重要)
务必理解业务逻辑 很多严重漏洞来自流程设计缺陷,而不是复杂代码。
小细节往往是大漏洞 激活链接本该一次性,却变成了登录凭证。
报告被拒绝不代表你错了 关键是要清楚解释“影响范围”和“实际利用方式”。
直到下一篇见 —— 祝你发现更多漏洞!