This topic created in 2188 days ago, the information mentioned may be changed or developed.
苹果承认这个漏洞并给报告者 10 万美金奖励,证实了漏洞的存在和严重性。
有两个疑问:
1 、 “Sign in with Apple” 符合 oath2.0 标准吗?
2 、苹果发出的 jwt 令牌没有过期时间吗?(按理说有过期时间应该就不用再次验证吧?)
> 通过“Sign in with Apple”验证用户的时候,服务器会包含秘密信息的 JSON Web Token ( JWT ),第三方应用会使用 JWT 来确认登录用户的身份。Bhavuk 发现,虽然苹果公司在发起请求之前要求用户先登录到自己的苹果账户,但在下一步的验证服务器上,它并没有验证是否是同一个人在请求 JSON Web Token(JWT)。
4 replies • 2020-07-30 12:22:17 +08:00
 |
|
2
hellomsg Jul 30, 2020
jwt 有过期时间。对 Oath 不是很深入了解,个人认为苹果设计的这些验证步骤是为了检测 jwt 是否是伪造的或是被篡改了,是 app 业务方做的安全检测,最终目的是为了减少虚假注册?
|
 |
|
3
hellomsg Jul 30, 2020
我还有个疑问,苹果的 `refreshToken` 和 `access tokens` 是干嘛用的?文中说“which you use to obtain access tokens with future calls”,但是他也没有提供其他接口需要这个 `access tokens` 用来获取用户信息。
> Obtain a Refresh Token After verifying the identity token on your server, call the Generate and Validate Tokens endpoint with the client_id, client_secret, and nonce information.
On success, the server issues a refresh token, which you use to obtain access tokens with future calls. You may verify the refresh token up to once a day to confirm that the user’s Apple ID on that device is still in good standing with Apple’s servers. Apple’s servers may throttle your call if you attempt to verify a user’s Apple ID more than once a day.
If any step of the token verification fails, direct your app to fetch a new identity token for the user. Obtaining a new identity token on the device requires user interaction.
|
 |
|
4
hellomsg Jul 30, 2020
这个漏洞是在说 email 用户可以随便写会有安全隐患吗?但是对于一个可以随便写的 email,app 方会使用这个邮箱来创建帐号,并允许使用这个邮箱登录?
|