Shiro CVE-2022-40664 请求转发导致的验证绕过

💡 原文中文,约6500字,阅读约需16分钟。
📝

内容提要

Apache Shiro 1.10.0之前存在认证绕过漏洞,攻击者可通过未验证路径转发至需验证路径。修复需特定配置,否则请求转发将绕过Shiro过滤器。

🎯

关键要点

  • Apache Shiro 1.10.0之前存在认证绕过漏洞。
  • 攻击者可以通过未验证路径转发至需验证路径。
  • 漏洞复现环境为shiro:1.9.1和springboot:2.7.4。
  • 修复漏洞需要特定配置,否则请求转发将绕过Shiro过滤器。
  • 补丁必要配置包括设置DispatcherType为REQUEST和FORWARD。
  • 如果没有补丁配置,转发请求不会进入Shiro,导致绕过限制。
  • 在大于等于shiro 1.10.0的版本中,不用补丁配置也可能发生绕过。

延伸问答

Apache Shiro的认证绕过漏洞是什么?

Apache Shiro 1.10.0之前存在认证绕过漏洞,攻击者可以通过未验证路径转发至需验证路径。

如何修复Apache Shiro的认证绕过漏洞?

修复漏洞需要特定配置,包括设置DispatcherType为REQUEST和FORWARD。

在什么环境下可以复现Apache Shiro的漏洞?

漏洞复现环境为shiro:1.9.1和springboot:2.7.4。

如果不进行补丁配置,会发生什么?

如果没有补丁配置,转发请求不会进入Shiro,导致绕过限制。

在Shiro 1.10.0及以上版本中,是否需要补丁配置?

在大于等于shiro 1.10.0的版本中,不用补丁配置也可能发生绕过。

如何配置Shiro以防止请求转发绕过?

需要在FilterRegistrationBean中设置DispatcherType为REQUEST和FORWARD。

➡️

继续阅读