shiro反序列化漏洞分析、模拟攻击及修复(二)
shiro反序列化漏洞分析、模拟攻击及修复(三)
Apache Shiro 在 Java 的权限及安全验证框架中占用重要的一席之地,在它编号为550的 issue 中爆出严重的 Java 反序列化漏洞。下面,我们将首先搭建漏洞环境,模拟还原此漏洞的场景及分析,最后根据不同的场景提出了三种办法来修补此漏洞。详见shiro反序列化漏洞分析、模拟攻击及修复(三)
实验内容
- 在windows环境中搭建shiro漏洞环境
- 分析漏洞原因
- 使用反弹shell利用漏洞模拟攻击
- 漏洞修复分析及方案
实验采用工具与环境
- Windows 10
- IDEA
- python3
- Power shell
- Httpie
- java
- Maven
- tomcat
shiro环境搭建
1.从git上获取 Apache Shiro 存在漏洞的源代码。地址:https://github.com/apache/shiro/releases/tag/shiro-root-1.2.4
2.修改shiro/samples/web下的pom.xml文件,添加如下内容:
<!-- 需要设置编译的版本 -->
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
...
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<!-- 这里需要将jstl设置为1.2 -->
<version>1.2</version>
<scope>runtime</scope>
</dependency>
.....
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.0</version>
</dependency>
<dependencies>
3.