先進行環境的編譯,專案地址: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 進行編碼