目录

用户界面拒绝,后端放行-记一次邮件验证bypass

用户界面拒绝,后端放行 – 记一次邮件验证bypass

希望大家一切顺利!今天,我将分享一个在 HackerOne 公开项目 中发现的逻辑漏洞。所以,话不多说,让我们直接进入正题。


前言

这个漏洞出现在 HackerOne 的某个公开项目 中。由于它尚未修复,我们暂且将该项目称为 target.com

该漏洞允许我 绕过邮件验证 ,也就是说,我可以使用任何电子邮件地址注册,而无需真正拥有该邮箱。


漏洞挖掘

我的测试方法是先注册一个账户,并探索主域及其功能——最初 不使用 Burp Suite 或任何工具 ,而是试图彻底理解该应用的逻辑。

随后,我开始检查 登录、注册、重置密码 等涉及身份验证的功能,以寻找可能的漏洞。

然而,不幸的是,这些功能都 很安全 ,没有发现明显的安全问题。

但我注意到,该应用在 注册过程中 需要 邮件验证 。于是,我想到: 是否可以绕过这个验证?

首先,我分析了 发送到邮箱的验证链接 ,检查其生成方式是否存在 配置错误 。我关注的常见问题包括:

可预测的令牌 —— 如果令牌易于猜测,我可以尝试 暴力破解

编码的邮箱值 —— 如果令牌包含我的邮箱地址,并且使用了 Base64URL 编码 ,那么我可以尝试篡改。

可篡改的参数 —— 如果链接中包含 emailuser_id 之类的参数,我可以修改它们以尝试绕过验证。

然而,不幸的是, 这些问题都不存在 —— 该令牌 强大且不可预测

于是,我决定放弃 邮件验证 的思路,转而测试应用的其他 功能 ,看看是否能找到有趣的漏洞。

我首先检查了 个人资料页面 ,因为这通常是 CSRF、CORS 配置错误、缓存欺骗、IDOR 以及其他漏洞的高风险区域。

但很快我发现,我无法修改 敏感信息 ,如 邮箱用户名 。唯一可编辑的字段仅限于 基本信息 ,如 性别、身高 等非关键数据。

https://i-blog.csdnimg.cn/img_convert/26c04c0715edc03d6e3cfb6080063e1c.png

此时,我决定分析 负责更改用户信息的请求

我注意到, 任何我修改的参数 都会以 键值对 的形式出现在 JSON 请求体 中。

就在这时,我突然灵光一闪

https://i-blog.csdnimg.cn/img_convert/ea187e521974bff22c424be0079a1c24.png

还记得邮箱验证吗?

如果网站 只是在用户界面上阻止了邮箱修改 ,但 后台并没有进行相应的限制 呢?

没错! 这正是你现在想到的 😏

我立刻测试了一下, 修改了请求

我将 键从 genderIdentity 改为 email。

我将 值 设置为一个 新邮箱。

https://i-blog.csdnimg.cn/img_convert/c739c72f61d663d79cc159163c7451c4.png

然后, 你猜怎么着?

邮箱直接更新了,完全不需要任何验证!

https://i-blog.csdnimg.cn/img_convert/a837c187fe7ded4906a17785aeb3c1cd.png

这意味着攻击者可以使用 任意受害者的邮箱 注册账户, 绕过邮箱验证 ,甚至可能 冒充受害者身份 在平台上活动。

复现漏洞的步骤:

1️⃣ target.com 注册一个新账号 ,使用任意 虚假邮箱 完成注册并验证邮箱。

2️⃣ 进入 个人资料设置 ,这里可以修改用户的个人信息。

3️⃣ 使用 Burp Suite 捕获 更新用户信息 的请求(例如性别、身高等)。

4️⃣ 修改请求的 JSON 数据

将 键 从 "genderIdentity"(或其他可编辑字段)改为 "email"。

将 值 设置为你想更改的新邮箱.

5️⃣ 发送修改后的请求 到服务器。

6️⃣ 结果: 邮箱成功更新, 无需任何验证 ,攻击者即可使用受害者的邮箱完成注册。

小贴士:

永远不要 完全依赖用户界面 !许多在 UI 上看似受限或不可用的操作,可能仍然可以通过 后端 API 直接访问。 直接测试 API 请求 ,你可能会发现隐藏的漏洞。

我最初将此漏洞报告为 中等严重性 ,但公司工作人员将其 升级为高危漏洞

https://i-blog.csdnimg.cn/img_convert/cbf86eab2a9e7a216fbb3b7ad8557ee7.png

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关