2017-02-01 74 views
2

隐式流程被认为是不安全的。我知道两个问题:隐式流程的安全隐患是什么

  1. Confused deputy。但为了克服它,你只需要检查access_token是否提供给你的应用程序。没什么大不了的。
  2. XSS攻击。因此,如果我们的access_token通过XSS攻击被盗,它可以用来发出请求(这是我们最初请求的范围的一部分)。它很糟糕,但很难窃取access_token,因为最有可能我们只有在我们的登录页面上才有它,并且没有存储在应用程序状态中,因为它很短(我猜这就是为什么隐式工作流程不支持刷新标记)。

它看起来不错。是否还有其他安全漏洞,我不知道?

回答

1

正确的说法应该是

隐式流量是不安全相对的代码(和混合)流动。

如果攻击者想要使用的代码(混合动力)流从一个应用程序窃取用户的访问令牌,然后攻击者闯入服务器网络,要么发现应用秘密或从服务器窃听网络流量谷歌(这是HTTPS)来获取对访问令牌的保留。

在隐流动访问令牌驻留在浏览器中。在这种情况下,攻击者有很多其他的可能性来窃取令牌,而不必妥协网络。

  • XSS(因为你已经解释的)
  • 困惑副手的问题(因为你已经解释的)
  • 会话固定问题(使用用户A在用户B的会话令牌。https://www.facebook.com/FacebookforDevelopers/videos/10152795636318553/
  • REDIRECT_URL参数操纵
  • (可能)令牌泄漏带引荐头
  • 各种网络钓鱼和社会工程的可能性,以欺骗用户不是要求他们passwo泄露他们的访问令牌(更容易rd)

但正如您所说,如果您是一位具有安全意识的开发人员,则可以直接减轻所有这些错误。但是如果实现隐式流程,仍然有机会发现这些漏洞。因此,如果您不将令牌传递给浏览器并处理服务器端组件中的令牌(代码流),那么这可能是个好主意。

相关问题