广谈大湾网

OpenAI 曝新漏洞,一个手机号可以批量注册账号!

2023-5-9 10:06:23 14041 0

[复制链接]
半年华 未绑定微信 发表于 2023-5-9 10:06:23 |阅读模式

半年华 未绑定微信 楼主

2023-5-9 10:06:23

注册过ChatGPT API的朋友知道,新注册的用户,OpenAI免费赠送了5美元的使用额度。

一个账号5美元,100个账号可就是500美元啊,可以用很久了!

于是,有人就打起了坏主意,能不能找到OpenAI的bug,然后可以批量注册账号,薅OpenAI的羊毛呢!

1.jpg

最近看到一篇国外的文章,有安全团队发现了OpenAI的一个漏洞,基于这个漏洞,攻击者可以无限白嫖ChatGPT的免费额度,只要一个手机号就能注册很多账号。

漏洞详情
在讲述如何利用这个漏洞之前,让我先介绍一下ChatGPT的大致注册过程:

  • 注册一个电子邮件
  • 点击电子邮件激活链接
  • 输入电话号码
  • 输入通过短信接收到的验证代码

其中,电子邮件和电话号码都必须是唯一的,否则用户将被告知该账户已经存在,而且不会获得免费赠送的5美元资源

绕过验证
了解了这个过程之后,来深入研究一下OpenAI的注册过程中的API。

在使用Burp代理拦截流量后,注意以下请求:
2.png

来看服务器的响应:
3.png

看起来服务器并没有识别出来这点小伎俩,按照这个思路,我们还可以继续在手机号前面添加0,来创建更多的手机号的变种。

然而,零的数量可能是有限的,不可能无限制加啊,还有什么办法可以搞到更多账号呢?

这就该开源工具REcollapse派上用场了。这个工具可以用来进行输入Fuzz、绕过验证、发现Web应用程序和API中的问题。

经过一些初步测试,还真给他们发现了问题。在某些非ASCII字节上使用Unicode编码后,就能绕过手机号检查的逻辑,比如:

4.png


5.png

因为手机号前面添加了0或者非ASCII字符,OpenAI服务器收到后在检查是否有相同手机号的时候把它们当成了不同的手机号,而到后续要发送验证码的环节后,OpenAI又会清除前缀零和不需要的字节,以便能发送验证码。

这样的设计可能会导致大量甚至无限的不同值(例如,0123、00123、12\u000a3、001\u000a\u000b2\u000b3等)被视为唯一标识符,在使用时折叠为一个值(123),从而完全绕过初始验证机制。

想要解决这个问题,可以在处理手机号这个字段之前进行一个预处理,将其标准化,以便在后续的模块使用时保障它是相同的手机号字符串。

文章来源于JAVA技术迷,如有侵权请联系删除。本文仅代表作者观点,不代表大湾网的观点立场。
回复

使用道具 举报

:
高级会员
:
未填写
:
未填写
:
未填写

主题113

帖子115

积分868

图文推荐

  • 这个还能趁小着吃!软糯巨香,一口一个,让

    在很多的市场摊位,有时候能看到一颗颗小小的小土

  • “荔枝三杰”,个个惊艳到我,特别是最后一

    炎炎夏日,荔枝飘香。在众多的荔枝品种中,有三种

  • 本水果大量上市,香味浓郁,甜酸适口!

    菠萝现在正大量上市,菠萝的果肉黄色,香味浓郁,

  • 炒黄瓜虽然看似简单,但其实也有一些技巧和

    炒黄瓜虽然看似简单,但其实也有一些技巧和注意事

  • 金针菇这吃法火了,低脂不油腻,清淡减肥菜

    【蚝油金针菇】食材:金针菇、胡萝卜、辣椒、

  • 发布新帖

  • QQ客服

  • 微信公众号

  • 移动端

  • 返回顶部