Shiro CVE-2020-17523 路径绕过
💡
原文中文,约3700字,阅读约需9分钟。
📝
内容提要
Apache Shiro 1.7.1之前的版本在与Spring结合使用时存在身份验证绕过漏洞,因路径配置不当导致特定HTTP请求可绕过认证。修复建议是将trimTokens参数设置为false,以保留路径中的空格。
🎯
关键要点
- Apache Shiro 1.7.1之前的版本存在身份验证绕过漏洞。
- 漏洞由路径配置不当引起,特定HTTP请求可绕过认证。
- 修复建议是将trimTokens参数设置为false,以保留路径中的空格。
- 漏洞条件为shiro < 1.7.1,路径配置为类似“/*”的单通配符。
- 使用spring的漏洞复现环境包括shiro:1.7.0和springboot:2.7.4。
- 漏洞分析显示,空格在路径匹配中被去除,导致认证绕过。
- 最终修复方案是调整路径匹配逻辑以避免空格被去除。
❓
延伸问答
Apache Shiro CVE-2020-17523 漏洞是什么?
Apache Shiro 1.7.1之前的版本存在身份验证绕过漏洞,因路径配置不当导致特定HTTP请求可绕过认证。
如何修复 Apache Shiro CVE-2020-17523 漏洞?
修复建议是将trimTokens参数设置为false,以保留路径中的空格。
漏洞的触发条件是什么?
漏洞条件为shiro版本低于1.7.1,且路径配置为类似“/*”的单通配符。
使用Spring时,如何复现该漏洞?
使用shiro:1.7.0和springboot:2.7.4的环境可以复现该漏洞,且未手动配置CVE-2020-17510修复补丁。
为什么路径匹配会导致认证绕过?
因为空格在路径匹配中被去除,导致认证绕过,最终路径无法正确匹配。
CVE-2020-17523 漏洞的影响是什么?
该漏洞可能导致未授权用户绕过身份验证,获取敏感信息或执行受限操作。
➡️