Apache Shiro身份验证绕过漏洞(CVE-2020-1957)如何被成功利用,导致安全风险?
- 内容介绍
- 文章标签
- 相关推荐
本文共计528个文字,预计阅读时间需要3分钟。
一、漏洞描述Apache Shiro 是一个功能强大且易于使用的 Java 安全框架,它执行身份验证、授权、加密和会话管理。然而,在 1.5.2 版本之前的 Apache Shiro 中,存在一个安全漏洞。
二、漏洞影响在 1.5.2 版本之前的 Apache Shiro 版本中,攻击者可以利用该漏洞执行任意代码。
三、修复建议请升级 Apache Shiro 至 1.5.2 或更高版本以修复此漏洞。
一、漏洞描述Apache Shiro 是一个功能强大且易于使用的 Java 安全框架,它执行身份验证、授权、加密和会话管理。
在具有 Spring 动态控制器的 1.5.2 之前的 Apache Shiro 版本中,攻击者可以使用恶意构造的请求 ..;利用 Apache Shiro 和 Spring Boot 对URL的处理的差异化,可以绕过 Apache Shiro 对 Spring Boot 中的 Servlet 的权限控制,越权并实现未授权访问。
Apache Shiro < 1.5.1
三、漏洞复现1、搭建环境
通过执行以下命令,使用 Spring 2.2.2 和 Shiro 1.5.1 启动应用程序。
docker-compose up -d
目录:/shiro/CVE-2020-195
docker-compose ps
docker-compose ps
2、登录验证
3、对管理页面的直接请求 /admin/无法访问,将被重定向到登录页面。
构造恶意请求 /xxx/..;/admin/绕过身份验证检查并访问管理页面。
直接在搜索框输入/xxx/..;/admin/
- 客户端请求URL: `/xxx/..;/admin/`
- Shrio 内部处理得到校验URL为 `/xxxx/..`,校验通过
- SpringBoot 处理 `/xxx/..;/admin/` , 最终请求 `/admin/`, 成功访问了后台请求。
根据影响版本中的信息,排查并升级到安全版本
本文共计528个文字,预计阅读时间需要3分钟。
一、漏洞描述Apache Shiro 是一个功能强大且易于使用的 Java 安全框架,它执行身份验证、授权、加密和会话管理。然而,在 1.5.2 版本之前的 Apache Shiro 中,存在一个安全漏洞。
二、漏洞影响在 1.5.2 版本之前的 Apache Shiro 版本中,攻击者可以利用该漏洞执行任意代码。
三、修复建议请升级 Apache Shiro 至 1.5.2 或更高版本以修复此漏洞。
一、漏洞描述Apache Shiro 是一个功能强大且易于使用的 Java 安全框架,它执行身份验证、授权、加密和会话管理。
在具有 Spring 动态控制器的 1.5.2 之前的 Apache Shiro 版本中,攻击者可以使用恶意构造的请求 ..;利用 Apache Shiro 和 Spring Boot 对URL的处理的差异化,可以绕过 Apache Shiro 对 Spring Boot 中的 Servlet 的权限控制,越权并实现未授权访问。
Apache Shiro < 1.5.1
三、漏洞复现1、搭建环境
通过执行以下命令,使用 Spring 2.2.2 和 Shiro 1.5.1 启动应用程序。
docker-compose up -d
目录:/shiro/CVE-2020-195
docker-compose ps
docker-compose ps
2、登录验证
3、对管理页面的直接请求 /admin/无法访问,将被重定向到登录页面。
构造恶意请求 /xxx/..;/admin/绕过身份验证检查并访问管理页面。
直接在搜索框输入/xxx/..;/admin/
- 客户端请求URL: `/xxx/..;/admin/`
- Shrio 内部处理得到校验URL为 `/xxxx/..`,校验通过
- SpringBoot 处理 `/xxx/..;/admin/` , 最终请求 `/admin/`, 成功访问了后台请求。
根据影响版本中的信息,排查并升级到安全版本

