预接管账号:结合OTP校验分离与空格绕过注册内部管理员邮箱

admin 2026-04-28 05:24:58 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档分析了一个私有漏洞赏金计划中发现的注册流程逻辑漏洞。攻击者通过分离OTP校验与邮箱注册参数,可在验证合法邮箱后替换为目标邮箱进行注册。进一步利用空格绕过内部邮箱黑名单过滤(如[email protected]),成功注册高权限管理员账号。漏洞根源在于缺乏上下文一致性校验及黑名单过滤未处理空格。建议加强参数关联验证并规范输入清洗。 综合评分: 90 文章分类: 漏洞分析,WEB安全,实战经验,安全开发,渗透测试


cover_image

预接管账号:结合 OTP 校验分离与空格绕过注册内部管理员邮箱

原创

Pwn1 Pwn1

漏洞集萃

2026年3月22日 00:16 山东

在小说阅读器读本章

去阅读

免责声明 本公众号所发布的文章内容仅供学习与交流使用,禁止用于任何非法用途。

在测试一个私有漏洞赏金计划时,我遇到了一个

总结

核心问题在于注册流程中的 OTP校验逻辑与实际写入数据库的账号信息出现了断层,再加上对内部邮箱的注册限制存在过滤不严的问题。

利用这两个缺陷,可以直接绕过注册黑名单,成功注册拥有高权限的内部管理员邮箱。

漏洞点的原本功能流程

正常情况下,不带恶意攻击时,这个注册功能的运作逻辑是这样的:

  1. 在注册页面输入想要注册的邮箱地址(比如 [email protected])。
  2. 系统向这个邮箱发送一个 OTP 验证码。
  3. 拿到收到的 OTP 填入页面的验证框并提交。
  4. 系统后台核对这个 OTP 确实是发给 [email protected] 的,并且验证通过。
  5. 最后,系统使用 [email protected] 这个邮箱成功在数据库中创建新账户。

漏洞发现过程

首先,像往常一样走一遍常规的注册流程,向一个完全处于控制下的邮箱,假设为 [email protected]发送 OTP。拿到验证码提交后,到了最后一步的注册请求时,抓包观察数据包的流转情况。

在请求包里可以明显看到,参数被划分成了两个独立的部分:

  • 一部分专门负责验证 OTP,系统在这里只检查传入的 OTP 是否和对应的邮箱([email protected])匹配。

  • 另一部分则是 profile区域,这里包含了实际要在系统里创建账号用的真实邮箱地址。

看到这种隔离的参数结构,顺理成章地就可以尝试“移花接木”:在 profile 参数里把原本的 [email protected] 替换成任意目标邮箱。

测试发现,系统后台完全是个死脑筋,它仅仅校验了前一部分的 OTP 是否有效,根本不管后半部分实际注册的邮箱到底是谁。

到这一步,其实已经算是一个可以拿赏金的漏洞了,因为可以替任何人预先注册账号,实现预接管账号(Pre-ATO)。但这还不够彻底,要想把危害最大化,完全可以尝试注册一个系统的内部邮箱,比如 [email protected]

当直接在请求里把注册邮箱改成 [email protected] 时,系统弹出了报错提示,大意是“无法在线创建公司内部账号,必须联系人力资源部门”。这说明系统对公司后缀的邮箱做了黑名单校验。

为了突破这个限制,尝试在输入数据中引入特殊字符。在邮箱地址的最前面加了一个空格,变成 [email protected]

就这么一个小小的改动,请求发过去后,竟然顺利绕过了内部邮箱的注册拦截机制!

最后,直接在登录页面使用刚才注册的内部邮箱和密码,成功登入系统,顺利拿到了内部账户的权限。

漏洞原理

剖析一下后台代码到底出了什么毛病,主要有以下两个致命缺陷:

  1. 缺乏上下文一致性校验:后台接口在处理最终的注册请求时,业务逻辑存在严重的断层。负责校验 OTP 的模块和负责写入数据库创建账号的模块是各干各的。系统没有去交叉比对“接收验证码的邮箱”和“最终插入数据库的邮箱”是否为同一个值。
  2. 黑名单过滤与数据清洗规则不同步(空格绕过):当系统检查注册邮箱是否为内部邮箱(比如正则匹配 @flask.com)时,其匹配逻辑比较死板,没有做前置的 trim() 去除首尾空格。因此,带有前导空格的 [email protected] 成功骗过了黑名单检测器。然而,在最终写入数据库或者系统在进行身份认证时,底层的机制(比如数据库自身的清洗功能)可能又自动忽略或兼容了这个空格,导致最后真正生效的就是那个高权限的内部邮箱。

来源:

https://x.com/oxflask/status/2025630637118366112

觉得本文内容对您有启发或帮助? 点个关注➕,获取更多深度分析与前沿资讯!

👉 往期精选

逻辑漏洞:邮箱注册 tips #11

一种利用 HTTP 重定向循环的新型 SSRF 技术

个人资料/配置页检查清单


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:漏洞集萃 Pwn1 Pwn1《预接管账号:结合 OTP 校验分离与空格绕过注册内部管理员邮箱》

评论:0   参与:  0