先进行环境的编译,项目地址:GitHub - depycode/fastjson-local-echo: 基于 dbcp 的 fastjson rce 回显
idea 编译 & 环境设置#
配置好 maven 和 setting.xml
配置 jdk 为 1.8
package 之后生成 jar 文件
运行 jar 文件,启动环境
java -jar demo-0.0.1-SNAPSHOT.jar
浏览器访问
适用场景#
- fastjson <= 1.2.24
- 1.2.33 <= fastjson <= 1.2.47
- jdk <= 8u251
- 存在 tomcat-dbcp
复现#
文件名 | 介绍 |
---|---|
SpringEcho.java | spring 回显代码 |
BCELEncode.java | 将 class 文件进行 bcel 编码 |
首先将 SpringEcho.java 编译生成 SpringEcho.class 文件,然后用 BCELEncode 对 class 文件进行 bcel 编码
-
fastjson <= 1.2.24 poc
- 见 github 项目
-
1.2.33 <= fastjson <= 1.2.47 poc
- 见 github 项目
上处 driverClassName 中的内容通过 BCELEncode 进行编码