欺骗 facebook 应用程序 ID
Spoofing facebook app ID
跟进 Design for Facebook authentication in an iOS app that also accesses a secured web service, and specifically the concern listed in 中概述的设计:缓解措施是什么?
具体来说,我有一个 Web 服务器公开了一个移动应用程序使用的 REST API。我希望用户使用 Facebook 向服务器(通过应用程序)进行身份验证。
现在,一个明显的常见流程是应用程序将用户重定向到 Facebook,他们将在那里使用他们的凭据登录。然后应用程序将获得一个令牌,它将发送到服务器,服务器将使用图 API.
验证令牌
但服务器如何确定令牌确实来自应用程序?具体来说,如何防止恶意应用程序供应商重复使用我的应用程序 ID?毕竟,应用程序 ID 是硬编码到应用程序中的,因此可以被恶意应用程序提取和使用。如果用户使用 Facebook 登录该恶意应用程序,则恶意供应商可以使用我的应用程序 ID 获取令牌,并可以冒充我的服务用户。
如何防止这种情况发生?
总结一下碰巧考虑到这一点的其他人 - 确实没有办法防止客户端 ID 被欺骗。正如 Andre D 在 :
中指出的那样,这是不鼓励开发人员在本机应用程序中使用 OAuth 隐式流程的原因之一
the use of the Implicit Flow with native apps is NOT
RECOMMENDED.
(参见 https://datatracker.ietf.org/doc/html/draft-ietf-oauth-native-apps-09#section-8.5)。
实际上,如果有人发动这种攻击,那么用户将下载应用程序 A(恶意应用程序),然后将被要求授权应用程序 B 代表他们执行操作。据我所知,这通常是攻击正在发生的唯一迹象。
跟进 Design for Facebook authentication in an iOS app that also accesses a secured web service, and specifically the concern listed in 中概述的设计:缓解措施是什么?
具体来说,我有一个 Web 服务器公开了一个移动应用程序使用的 REST API。我希望用户使用 Facebook 向服务器(通过应用程序)进行身份验证。
现在,一个明显的常见流程是应用程序将用户重定向到 Facebook,他们将在那里使用他们的凭据登录。然后应用程序将获得一个令牌,它将发送到服务器,服务器将使用图 API.
验证令牌但服务器如何确定令牌确实来自应用程序?具体来说,如何防止恶意应用程序供应商重复使用我的应用程序 ID?毕竟,应用程序 ID 是硬编码到应用程序中的,因此可以被恶意应用程序提取和使用。如果用户使用 Facebook 登录该恶意应用程序,则恶意供应商可以使用我的应用程序 ID 获取令牌,并可以冒充我的服务用户。
如何防止这种情况发生?
总结一下碰巧考虑到这一点的其他人 - 确实没有办法防止客户端 ID 被欺骗。正如 Andre D 在 :
中指出的那样,这是不鼓励开发人员在本机应用程序中使用 OAuth 隐式流程的原因之一the use of the Implicit Flow with native apps is NOT RECOMMENDED.
(参见 https://datatracker.ietf.org/doc/html/draft-ietf-oauth-native-apps-09#section-8.5)。
实际上,如果有人发动这种攻击,那么用户将下载应用程序 A(恶意应用程序),然后将被要求授权应用程序 B 代表他们执行操作。据我所知,这通常是攻击正在发生的唯一迹象。