Shiro CVE-2020-17510 路径绕过

💡 原文中文,约8100字,阅读约需20分钟。
📝

内容提要

Apache Shiro 1.7.0之前的版本在与Spring结合使用时存在认证绕过漏洞。该漏洞影响shiro < 1.7.0和springboot > 2.3.0,攻击者可通过特定HTTP请求绕过认证。修复需额外配置以确保路径匹配一致。

🎯

关键要点

  • Apache Shiro 1.7.0之前的版本与Spring结合使用时存在认证绕过漏洞。
  • 该漏洞影响shiro < 1.7.0和springboot > 2.3.0,攻击者可通过特定HTTP请求绕过认证。
  • 修复该漏洞需要额外配置以确保路径匹配一致。
  • 漏洞条件包括使用resful风格的路径,shiro版本为1.6.0,spring-boot版本为2.7.4。
  • 漏洞分析指出,路径匹配机制的不同导致了认证绕过。
  • Springboot <= 2.3.0的路径匹配机制与后续版本不同,可能导致漏洞利用。
  • 修复方案是增加ShiroUrlPathHelper类,修改路径匹配规则以确保一致性。

延伸问答

CVE-2020-17510漏洞的影响是什么?

该漏洞影响Apache Shiro 1.7.0之前的版本与Spring结合使用时,攻击者可通过特定HTTP请求绕过认证。

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

修复该漏洞需要额外配置以确保路径匹配一致,并增加ShiroUrlPathHelper类以修改路径匹配规则。

CVE-2020-17510漏洞的条件是什么?

漏洞条件包括使用RESTful风格的路径,Shiro版本为1.6.0,Spring Boot版本为2.7.4。

为什么Spring Boot <= 2.3.0会导致CVE-2020-17510漏洞?

因为Spring Boot <= 2.3.0的路径匹配机制与后续版本不同,可能导致路径匹配不一致,从而使漏洞得以利用。

CVE-2020-17510漏洞的攻击方式是什么?

攻击者通过发送特定的HTTP请求,可以绕过认证,访问受保护的资源。

如何配置Shiro以防止CVE-2020-17510漏洞?

需要配置ShiroRequestMappingConfig自动配置,或手动配置以确保路径匹配规则的一致性。

➡️

继续阅读