零点击账户劫持:一次Web3项目的IDOR实战

admin 2025-12-30 01:31:14 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文章复盘一次Web3项目零点击账户劫持:注册接口POST包仅含用户id无鉴权,攻击者替换id即可篡改受害者邮箱手机,再通过忘记密码流程重置密码完成接管,全程无需受害者交互,属于典型IDOR逻辑缺陷,作者借此获赏金并给出完整复现步骤。 综合评分: 86 文章分类: 漏洞分析,WEB安全,渗透测试,实战经验


cover_image

零点击账户劫持:一次 Web3 项目的 IDOR 实战

原创

Pwn1

漏洞集萃

2025年8月24日 08:25 山东

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

前言

大佬们好,今天分享的是一个零点击账户劫持; 众所周知在 Web3 当中,「零点击」漏洞往往意味着无需受害者任何交互即可完全控制其账户。今天分享的就是:仅靠一个 IDOR逻辑缺陷,直接实现了零点击账户接管,并获得了目标项目的赏金。

目标选定

老规矩,上来先用Google Dork收集下目标的资产信息:

  1. 1. 信息收集
  • • 使用 Google Dork 筛选出「Scope 大且资产丰富」的 Web3 项目,下文统称 target.com
  • • 跑子域、查子域接管无果。

然后再用网页存档工具处理下历史的网页数据,提取敏感的URL

  1. 2. 历史资产回溯

    在经过一番查看之后,研究员注意到了注册页面。

  • • waybackurls 拉取 target.com 的历史 URL。
  • • 随后手动逐个浏览

漏洞发现

在查看注册功能在BP的请求流量之后,研究员注意到了一些端倪。

异常请求

正常注册流程中,Burp Suite 捕获到如下 POST 请求:

{
  "id":"67274f46-b5d8-4826-bf29-d1584a195cfa",
"email":"[email protected]",
"phase":"phone_number",
"country_code":"91",
"phone_number":"123456789",
"verification_id":"46ab8b35-0722-4652-a76c-e3c3b2642df0"
}

相信你也注意到了,这个请求当中竟然没有任何身份校验的部分:

  • • 请求头中 无 Authentication / Cookie,即「未登录状态」。
  • • id 字段为当前注册用户的全局唯一标识。

那么不就可以随意的进行越权操作了么,开始吧!

IDOR 验证

  1. 1. 研究员注册第二个账号 → 拿到其 id(记为 victim-id)。
  2. 2. 重放请求 → 将 id 替换为 victim-id,其余字段随意。
  3. 3. 服务器直接 200 OK → 未校验邮箱、手机号是否已验证。

3.3 利用链

| 步骤 | 操作 | 结果 | | — | — | — | | ① | 修改受害者账户绑定邮箱、手机为自己的 | 绕过验证 | | ② | 访问「忘记密码」 | 发送重置链接到「我的邮箱」 | | ③ | 点击邮件 → 设置新密码 | 无需原手机验证码 | | ④ | 登录受害者账号 | 完成接管 |

至此,零点击达成:受害者全程无感知。

 原文:

https://infosecwriteups.com/idor-allow-zero-click-account-takeover-on-a-web3-program-abef994d2aef

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

👉 往期精选

【0-Click!一键接管任意 Facebook 账户】

就改了一个参数,喜提$3000

就点了一下,Yandex给了他赏金。这个P4漏洞简单到离谱

弱口令爆破总失败?那我建议您试下这招


免责声明:

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

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

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

本文转载自:漏洞集萃 Pwn1《零点击账户劫持:一次 Web3 项目的 IDOR 实战》

评论:0   参与:  0