网站首页 > 博客文章 正文
最近Apple一个登陆漏洞被安全人员Bhavuk Jain所发现,利用该漏洞只需要Email ID就可以获取该用户常用网站和App账户所有信息。该漏洞在苹果Sign in with Apple执行逻辑上。该漏洞影响面很大,所有使用Sign in with Apple的第三方应用,如果没有额外的其他安全措施,则会导致该应用的用户账户被完全账户接管。由于该漏洞影响巨大,苹果Security Bounty计划奖励了Bhavuk Jain 10万美金。
今天我们就来一起学习一下这个漏洞细节以及Bhavuk Jain如何发现该漏洞并获得大奖的。
技术细节
Sign in with Apple的工作原理与OAuth 2.0类似。通过两种方法来实现:利用苹果服务器认证生成的JWT (JSON Web Token)或使用苹果认证服务器生成代码,代码可用于生成JWT。
下图显示了JWT创建和验证的工作方式。
在第二步中,认证授权时,Apple会向用户提供一个选项,可选择是否与第三方应用程序共享Apple Email ID。如果用户决定隐藏电子邮件ID,则Apple会生成自己的特定于用户的Apple中继Email ID。根据用户选择,在成功授权后,Apple将创建一个JWT,其中会包含该电子中继邮件ID,然后第三方应用程序将使用该ID登录用户。
解码的JWT payload如下所示:
bug
Bhavuk Jain发现可以通过任意苹果Email ID发送JWT请求,当使用Apple的公钥验证这些token签名时,都会显示为有效。这样攻击者可以通过任意苹果Email ID 伪造JWT获得该用户对应的账号信息和访问权限。
漏洞验证过程(上图第二部)
在提交任意email ID,苹果会为该特定的Email ID生成了一个有效的JWT(id_token)。
苹果认证服务器响应信息:
该漏洞的影响非常大,因为可能允许实现任意用户的劫持。许多应用都已经集成了Sign in with Apple以方便用户认证。各大社交应用都有支持,比如大家所熟识的Dropbox,Spotify,Airbnb,Giphy等。
总结
一个很简单认证过程,一个环节验证脱钩就可以造成重大的问题。这次苹果Sign in with Apple漏洞影响很大,还好发现及时,苹果也为此支付了巨额赏金。苹果安全部分通过日志分析也没有发现该漏洞被利用证据。但是该类JWT的漏洞绝不是孤例,其他产品,其他公司开发难免会犯同样的错误,"他山之玉,可以攻玉",希望这个案例能对大家有所启发,从中吸取教训,开发出更安全健壮的程序。
猜你喜欢
- 2024-10-11 苹果手机出现新严重漏洞:账户被接管
- 2024-10-11 你必须知道的十大漏洞之失效的访问控制——A1
- 2024-10-11 互联网小产品开发之(4)基于JWT的登录认证设计
- 2024-10-11 苹果在macOS,iOS中散布零日漏洞(如何在普通pc上安装macos苹果操作系统)
- 2024-10-11 「热点」微软自动化服务被爆高危的账户越权访问漏洞
- 2024-10-11 黑客发现苹果安全漏洞;苹果支付10万美元赏金
- 2024-10-11 垂直越权漏洞与代码分析(垂直越权漏洞修复方案)
- 2024-10-11 Apple登录功能存在安全漏洞,允许未经授权的黑客访问用户信息
- 2024-10-11 在Web应用中,别再把JWT当做session使用
- 2024-10-11 Java 15以上版本爆加密漏洞:CVE-2022-21449
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)