0

考虑 OAuth-2.0 授权代码授予协议。

如标准草案http://tools.ietf.org/html/ietf-oauth-v2-26Figure 3 : Authorization Code Flow所述Client,代表Authorization CodeUser-Agent. 假设这User-Agent是故意向Client. 如果通过在一段合理的时间内(通过 IP 或主机名)禁止获取方式来Authorization Server防止brute force获取方式。如果在我们的例子中,它应该处理来自多个不同的大量请求,如果只存在一个恶意用户,它将停止为所有用户提供服务。Access TokenClientRedirection URIClientUser-Agent'sClient

因此,Client在上述情况下成为瓶颈。

==== 已编辑 ==== 任何想法如何规避瓶颈问题?

4

1 回答 1

1

我相信您在问:“如何避免这个问题,而不是将授权代码暴露给用户代理?”

这是不可能的。OAuth 请求流经用户的浏览器,因此您无法阻止向用户公开授权代码。

如果您是此类攻击的受害者,我建议您为您的客户端提供与 OAuth 提供者在其授权服务器中相同的保护。即,停止允许从滥用您的服务的用户代理发送新的授权代码。如果他们每小时发送超过 3 个无效令牌,则禁止他们一两个小时(按 IP 地址)。当然,这可能会导致您拒绝从代理服务器访问您的站点,因为代理上有一个不良用户,但这就是生活。

于 2012-05-25T17:47:55.587 回答