考虑OAuth-2.0授权码授权协议。
正如在Figure 3 : Authorization Code Flow上的标准草案http://tools.ietf.org/html/ietf-oauth-v2-26中所描述的,Client代表Authorization Code从User-Agent接收令牌。假设User-Agent故意向Client发送错误代码。如果Authorization Server对brute force进行了一些保护,那么就可以通过在一段合理的时间内(通过IP或通过Redirection URI主机名)禁止Client来获取Access Token。在我们的例子中,如果Client应该处理来自多个不同User-Agent's的大量请求,那么如果只存在一个恶意用户,则Client将停止为所有用户提供服务。
因此,在上述情况下,Client成为瓶颈。
====编辑====有什么想法如何避免瓶颈问题吗?
发布于 2012-05-26 01:47:56
我相信您在问:“如何避免这个问题,并且不将授权码暴露给用户代理?”
这是不可能的。OAuth请求流经用户的浏览器,因此您无法阻止将授权码暴露给用户。
如果您是此类攻击的受害者,我建议在您的客户端中设置与OAuth提供商在其授权服务器中设置的相同的保护。也就是说,停止允许从滥用您的服务的User-Agent发送新的授权码。如果他们每小时发送超过3个无效令牌,则禁止他们一两个小时(通过IP地址)。当然,这可能会导致您因为代理服务器上的一个坏用户而拒绝从代理服务器访问您的站点,但这就是生活。
https://stackoverflow.com/questions/10740517
复制相似问题