Shiro CVE-2020-1957详细分析

💡 原文中文,约7700字,阅读约需19分钟。
📝

内容提要

Apache Shiro 1.5.2之前存在认证绕过漏洞,攻击者可通过特制请求绕过认证。该漏洞影响Shiro 1.5.0及更早版本。修复措施已在1.5.0中实施,主要是统一URL处理逻辑,以避免因路径末尾分隔符引发的安全隐患。

🎯

关键要点

  • Apache Shiro 1.5.2之前存在认证绕过漏洞,攻击者可通过特制请求绕过认证。
  • 该漏洞影响Shiro 1.5.0及更早版本,修复措施已在1.5.0中实施。
  • 漏洞有两种攻击方式,分别适用于shiro < 1.5.0和Shiro < 1.5.2。
  • 漏洞测试中,用户可以通过在请求路径末尾添加分隔符来绕过认证。
  • 漏洞的根本原因在于Shiro与Spring对URL的处理不一致。
  • 修复逻辑是统一URL处理,去掉请求路径和配置路径末尾的分隔符。
  • 在shiro 1.5.0中,修复了对分号的处理,使其与Spring一致,避免了越权访问。

延伸问答

CVE-2020-1957漏洞的主要影响是什么?

该漏洞允许攻击者通过特制请求绕过Apache Shiro的认证,影响Shiro 1.5.0及更早版本。

如何修复CVE-2020-1957漏洞?

在Shiro 1.5.0中,通过统一URL处理逻辑,去掉请求路径和配置路径末尾的分隔符来修复该漏洞。

CVE-2020-1957漏洞的根本原因是什么?

漏洞的根本原因在于Shiro与Spring对URL的处理不一致,导致路径匹配出现问题。

CVE-2020-1957漏洞的攻击方式有哪些?

该漏洞有两种攻击方式,分别适用于Shiro版本低于1.5.0和1.5.2的情况。

在测试CVE-2020-1957漏洞时,攻击者如何绕过认证?

攻击者可以通过在请求路径末尾添加分隔符来绕过认证,导致未授权访问。

CVE-2020-1957漏洞的修复版本是什么?

CVE-2020-1957漏洞在Apache Shiro 1.5.0版本中被修复。

➡️

继续阅读