来自 资讯 2021-06-10 14:04 的文章

高防_牛盾云_优惠券

高防_牛盾云_优惠券

OAuth是访问授权的广泛使用的标准,支持现代Internet软件的许多"用X登录"按钮和"连接日历"功能。OAuth 2.0是这个规范最常见和最新的版本,它定义了四种授权类型(以及各种扩展),特别适合于不同的用例。作为一个安全顾问,我们经常遇到OAuth流作为应用程序评估的一个小部分。因此,我们从最终用户(或渗透测试人员)的外部优势出发,开发了对oauth2.0授权代码流中安全问题的全面和易于理解的枚举的渴望。这篇文章将介绍、分解可观察到的漏洞,并解释授权代码流的以下各个方面的利用:状态代码重定向\u urlclient\u secretAccess TokenClickjacking虽然在oauth2.0安全性方面已经发布了大量的资源,但是我们发现没有一个能够满足我们的特定需求。请查看所有链接的引用,因为它们与本文中的大部分信息重叠,并深入研究OAuth 2.0安全性的其他方面!侧边栏:当这篇文章讨论授权代码授权时,仍然需要提到要留意隐式流或密码流的任何用法-这些都是遗留的,通常被认为是不安全的。让我们从OAuth:2006年:OAuth开始修复"API访问委派的开放标准"2007年:发布OAuth规范的第一个草案2009年:发现并披露会话固定攻击2009年:发布OAuth 1.0a以解决漏洞2010年:OAuth 1.0发布为RFC 5849 2012:OAuth 2.0发布为RFC 6749,它与1.02012-2013不向后兼容:OAuth 2.0威胁模型和安全考虑事项开发为RFC 68192017-:OAuth 2.0安全最佳当前实践已通过15个草案我们最常见的情况是在客户机服务上授予授权码。它通常由web和本机应用程序在用户向第三方应用程序验证后检索访问令牌。通常,ddos软件防御,使用此授权类型的应用程序将启动浏览器以开始流。术语在本文中,我们将使用OAuth 2.0规范中的正式术语。术语的详细分类可以在oauth.com网站术语参考:资源所有者"用户":这是授予对其帐户、数据、服务或其他访问控制资源的某种级别访问权限的人。资源服务器"API":这是包含资源所有者的数据的服务器,第三方应用程序希望访问这些数据。客户端"应用程序":这是将代表资源所有者从资源服务器访问受保护资源的应用程序。授权服务器:向客户端颁发访问令牌的服务器。这是通常显示OAuth提示符的服务器,允许用户接受或拒绝请求。授权码授权流程在授权码授权中,客户端最终将授权码交换为访问令牌。要启动此流,资源所有者向客户端发出请求。然后,客户端将资源所有者重定向到授权服务器,传递客户端的\u id、状态和重定向的\u uri。在资源所有者进行身份验证后,授权服务器会将重定向的\u uri与代码一起传递回资源所有者。然后,资源所有者将代码传递给重定向的\u uri(应该在客户机上)。然后,客户机可以使用该代码,并与客户机标识和客户机密钥一起检索访问代码。这种授权类型的安全优势包括能够(通过客户端密钥)对客户端进行身份验证,以及访问令牌从未直接暴露或传输给资源所有者,从而限制了其泄露的可能性。详细的流程图,以下是"OAuth 2.0的全面形式安全分析"(Fett,Küsters,Schmitz)。注意,在图中,资源所有者被称为浏览器,谍盾高防服务器怎么cdn管理,客户端称为"RP",授权服务器称为"IdP":

高防_牛盾云_优惠券

OAuth 2.0授权代码授权流边栏:想对流程进行另一种解释吗?去看看Okta的"图解指南",然后在这里圈回来!攻击OAuth 2.0以下是针对OAuth 2.0授权代码授权流的常见攻击向量,根据它们所针对的流的方面进行介绍。其中一些问题是由于最初的OAuth 2.0缺乏特定性而引起的,而其他问题则是错误实现的常见模式。这些漏洞可能是由客户端或授权服务器引入的,但对其初始识别和利用影响不大:国家:用法:引入状态参数来减轻CSRF攻击。虽然规范中建议但不要求,但应始终使用。状态功能如下:1客户端生成一个随机字符串,并将其作为状态参数包含在授权请求中。此值还应存储在仅资源所有者可访问的位置-通常作为cookie或浏览器本地存储。2。授权服务器将资源所有者重定向回客户端,并包含确切提供的状态。客户机必须通过将返回的状态与资源所有者的存储值相匹配来验证请求的有效性。利用:要利用state的任何问题,您将执行CSRF攻击。简而言之:攻击者可以通过授权流,丢弃资源所有者的最终请求(代码显示在客户端),ddos防御入门,就像CSRF攻击一样,一旦受害者发送请求,linux下防御ddos,攻击者必须强迫受害者的浏览器代替他们发送被删除的请求,他们在资源提供程序上的帐户将与您在授权提供程序上的帐户相关联,这通常会导致帐户接管要查找的内容:OAuth 2.0中的state参数存在许多常见的实现缺陷。测试OAuth 2.0流时,请始终检查:缺少状态–如上所述,state参数对于防止CSRF攻击是必需的。如果观察到OAuth 2.0授权代码授予流完全缺少此参数,则很可能是脆弱状态不需要–尝试从授权请求中删除state参数,linux如何防御ddos,并确保应用程序对其用法.状态not validated–尝试修改客户端提供给资源提供程序的状态,以确保客户端验证它是否与原始提供的状态匹配状态。可预测state–通常,应用程序会滥用state参数在流中传递值。其中一个用例是让state部分或完全确定重定向。虽然这可以正确地完成(通常通过将数据附加到随机状态),但它可以导致可预测的州。州固定——虽然很少见,但我们观察到了允许用户提供状态来初始化OAuth 2.0流的应用程序。攻击者首先修复状态,然后强制受害者以现在可预测的状态进入OAuth 2.0。边栏:可以使用oauth2.0的PKCE扩展来代替state参数。PKCE在RFC 7636中定义。代码:用法:code参数包含资源所有者从授权服务器接收的授权代码。然后,资源所有者将其呈现给客户机,客户机可以使用它从授权服务器检索access_令牌。然后可以使用access_令牌访问资源服务器上的受保护资源。利用:一般来说,代码识别出的问题需要第二个漏洞来攻击,即暴露代码。请参阅下面关于重定向\u uri攻击的讨论。要查找的内容:代码实现中最常见的漏洞是易受重播攻击。考虑以下测试用例,以确保流针对此类攻击进行了加固:左