先に環境のコンパイルを行います。プロジェクトのアドレス: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 を使用してエンコードされます