文章总结: 本文详细介绍了作者在目标应用中发现的一个严重安全漏洞:通过GraphQL请求修改个人资料电话号码,成功绕过双因素认证(2FA)保护机制。该漏洞源于应用在用户未完成2FA验证时,允许使用预认证令牌调用敏感GraphQL函数更新接收OTP验证码的手机号码,且缺乏额外的安全验证层。攻击者利用此漏洞可在仅获取用户凭证的情况下,将验证手机号更改为自己控制的号码,从而完全绕过2FA实现账户接管,导致高度敏感数据面临泄露风险。文章最后提及该漏洞已被厂商确认为高风险(P2)等级。 综合评分: 85 文章分类: 漏洞分析,Web安全,应用安全
0163.我是如何通过在 GraphQL 请求中修改我的个人资料电话号码来绕过双因素身份验证的
原创
Mohamed Elmorsy Mohamed Elmorsy
Rsec
2026年5月20日 09:44 贵州
在小说阅读器读本章
去阅读
本文章仅用网络安全研究学习,请勿使用相关技术进行违法犯罪活动。
声明:本文搬运自互联网,如你是原作者,请联系我们!
类型:权限控制
如何在 GraphQL 请求中通过简单的电话号码更新完全绕过双因素身份验证保护并实现完全帐户控制。
#
故事
双因素认证(2FA)作为第二道防线,以防您的凭证泄露。2FA 包括短信验证码、电子邮件验证码、指纹、主密钥等多种验证方式。因此,一旦您的账户或敏感数据遭到泄露,就会面临风险。
这就是双因素身份验证的底层流程。如果启用了双因素身份验证,系统会提示输入一次性密码 (OTP),并等待用户输入收到的验证码。这是正常的流程,应用程序也正是按照这个流程实现的。但是,配置错误以及身份验证提供程序和应用程序 GraphQL API 之间的兼容性问题导致了身份验证的完全绕过。
发现
在研究一个目标(我们姑且称之为 app.example.com ,尊重其披露政策)时,由于我更喜欢手动搜索,我开始浏览该应用程序,寻找其功能,绘制其结构图并了解其业务流程。经过几个小时的徒劳尝试后,我来到了个人资料更新页面,注意到请求是通过 GraphQL 发送的。我尝试了一些已知的漏洞利用方法、配置错误(例如自省等),但最终一无所获,而该配置是正确的。
然后我启用了双重验证,并注销了账号,之后重新登录,双重验证触发并要求输入验证码。
我尝试修改响应,但没有成功,因为还需要其他令牌才能建立有效的会话。所以我决定查看 Burp 历史记录来找出问题所在。我注意到主会话是由第三方集成服务颁发的,所以我想到可能是两个不同服务之间的集成配置错误。最终我意识到双因素身份验证依赖于电话号码。我该如何将电话号码更改为我自己的号码呢?还记得 GraphQL 配置文件更新请求吗?
我试了一下,使用了预先颁发的 2FA JWT,并构造了对 /graphql 的请求,令我惊讶的是,响应为 200 OK,手机号码被更改了。
(原图片不清晰,大概能看出来是修改了phone参数值)
译者:未确认验证码的令牌已经拥有了用户权限
我更新了我的手机号码,更新成功了。然后我返回到需要验证码的 2FA 页面,点击了重新发送验证码,验证码发送到了我更新后的手机号码。之后我使用该验证码登录。
我进入了应用程序,双重验证完全被绕过了……
#
问题
- 一个配置错误/遗忘的敏感函数(例如 GraphQL 函数)能够更新接收 OTP 验证码的手机号码。该函数接受未完成的身份验证令牌(主令牌/预身份验证令牌)。
- 除了不限制手机更新之外,没有其他安全层或验证措施导致手机很容易被更改。
两者都会导致攻击者能够绕过双因素认证。
#
影响
- 双因素认证作为一种安全控制手段,完全失效了。
- 在多因素身份验证 (MFA) 验证完成之前,攻击者可以替换电话号码,即使受害者尝试恢复,攻击者也能保持持续访问权限。
- 攻击者无需与受害者互动,只需有效的凭据即可。攻击者只需有效凭证即可。无需受害者参与。
- Target 存储着高度敏感的商业数据,包括员工排班表、工资信息和人事记录——所有这些数据都会在账户被盗后泄露。
负责任的信息披露与奖励
我撰写了报告并记录了 POC,然后通过他们的报告门户网站发送给了他们。该报告被评为高风险(P2)。
感谢阅读……祝您愉快。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Rsec Mohamed Elmorsy Mohamed Elmorsy《0163.我是如何通过在 GraphQL 请求中修改我的个人资料电话号码来绕过双因素身份验证的》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论