这个事关注的人挺多的,我只是发了个帖子描述事情经过,没想到得到各位大牛的鼎力相助,评论里有大牛分析出双重认证是怎么绕过的,有的帮忙破解这个应用的后台查数据的,还有帮我扫描域名信息提供资料的,帮我转发到其他平台的,在这里向各位说一声谢谢,也感谢 V2EX 提供这样一个平台可以让我发声。
绕过双重认证
原贴中关于如何绕过双重认证,有一些描述不太准确,虽然我补充到后面了,但还是有一定的误导,导致大家都在关注钓鱼的密码框。
因此我把帖子下沉了,在这个帖子里详细说一下原理,有些步骤我无法实践,是通过结果倒推的。
第一步 登录 Apple ID 页面
这一步很多人都没意识到,是在 App 里内置了一个隐藏的 WebView 访问 appleid.apple.com/sign-in,由于是在受害者自己的设备上,弹窗出来之后人脸识别就登录了,很多人包括我自己对这个弹窗没那么敏感,根本没有意识到是在登录 Apple ID 的管理后台。
提供两个对比视频,过程是一样的,最终都是登录到了 Apple ID 的管理后台。
一个是用内置的 Safari 登录。
https://www.bilibili.com/video/BV1d841117Lv/?share_source=copy_web&vd_source=172f1dea4092d685cfef2703eaabfd08
一个是用 App 内置的 WebView 登录,这个 WebView 还可以隐藏。
视频是由微博大佬 BugOS 技术组 提供的。
https://www.bilibili.com/video/BV1Nj41197A5/?share_source=copy_web&vd_source=172f1dea4092d685cfef2703eaabfd08
第二步 获取密码
通过伪造的密码输入框钓鱼,诱导受害者输入密码,这一步大家都比较清楚,我就不附图了。
第三步 获得 Cookie
这一步是通过大牛破解了对方的后台,有 Cookie 相关的配置以及记录,我猜测的。
在第一步的 WebView 登录之后,就可以通过注入 JavaScript 获取到 Cookie ,有了 Cookie 之后,就可以给 appleid.apple.com 的后台 API 发起 HTTP 请求了。
第四步 接收验证码
这一步有一个自动接收验证码并保存下来的服务即可,这个应该不太难。
第四步 添加信任号码
Apple ID 管理页面的地址是 appleid.apple.com/account/manage,在这个页面可以添加一个双重认证的信任号码。
拿第二步的密码、第三步的 Cookie 、第四步的验证码,就可以模拟添加信任号码的 API ,发起 HTTP 请求,添加一个新的号码。
至此,所有的操作都在受害者本机完成,不会触发双重认证,事后我查看了家人的邮箱,第一封被盗相关的邮件内容也是通知她有一个新的信任号码加入了 Apple ID 。
我认为整个事件确实有人为疏忽的问题,但是双重认证不就是为了避免这些疏忽,才有的最后一道防线的么,而通过这种手段添加双重认证号码竟然不需要再次认证,导致这个机制直接被绕过了,这才是最严重的问题。
后续
苹果的退款基本不太可能了,我已经尝试了所有的渠道,警察那边我提供了 App 、域名等资料,但是后面再联系就不回我了,感觉他们也不太相管,因此我只有一条路就是起诉了,接下来就是整理各种证据找律师了,如果这件事还有后续的话,我再更新吧,谢谢大家关注。