首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法判断Android应用程序是否真的使用SSO(单点登录)?

有没有办法判断Android应用程序是否真的使用SSO(单点登录)?
EN

Security用户
提问于 2017-07-18 15:23:34
回答 1查看 144关注 0票数 3

在过去几年中,OAuth和SAML等单点登录协议越来越多地被用于使第三方能够从某种服务中访问某些用户的资源,而无需用户向第三方提供凭据。

其中一个例子是付款网关:

  1. 用户选择他想购买的产品。
  2. 用户被重定向到网关页面,以输入他的信用卡详细信息。
  3. 用户被重定向回商家网站,商家从支付网关获得交易成功的确认,而不知道用户的信用卡详细信息。

当使用web时,我很清楚,通过查看地址栏中的名称并确保证书是安全的(如果我信任支付网关),我可以确定我在合法的网关页面上。

有一些商家的移动应用程序使用SSO,通过在应用程序中嵌入浏览器,将用户重定向到支付网关。但是,在这些应用程序中,您看不到地址栏或网关证书。那么,您如何确定您正在输入您的详细信息在支付网关页面,而不是商人的应用?

我看到的一个这样的应用就是一个本地食品订购应用程序。

编辑:正如“安东尼·罗素”所指出的,你可以使用一些工具来嗅闻流量,看看到底发生了什么。如果应用程序使用HTTPS,则可以使用Burp/Zap/mitmproxy。如果它使用的是SSL,而不是HTTPS,那么您可以尝试逆转这个应用程序,但这需要更多的时间。

EN

回答 1

Security用户

回答已采纳

发布于 2017-07-18 15:40:03

除非显示了本机浏览器,否则您无法知道。这就是为什么谷歌在对他们的OAuth2系统:https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html进行身份验证时,不允许任何"web视图“方法。

在这些情况下,RFC还推荐使用本机浏览器:https://datatracker.ietf.org/doc/html/draft-ietf-oauth-native-apps-12

来自本地应用程序的OAuth 2.0授权请求只能通过外部用户代理,主要是用户的浏览器进行。本规范详细说明了这种情况的安全性和可用性原因,以及本机应用程序和授权服务器如何实现这种最佳实践。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/165472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档