Docker を使用してさまざまなバージョンの fastjson 脆弱性環境を構築する [ナニー レベルの教育]

最近、さまざまなバージョンの fastjson 脆弱性が再現されています。ポップ チェーン トリガーの脆弱性を追跡するアイデアを使用しながら、パケットを送信することによっても再現しようとしています。現在、インターネット上で一般的な fastjson 脆弱性環境のバージョンは 1.2.24 と 1.2.47 です。他のブロガーさんの環境構築方法を参考に、dockerを使ってfastjsonの脆弱性の各種バージョンを構築する方法をまとめました。
ここでは、建物 1.2.68 を例として取り上げます。

書類の準備

fastjsonファイル

このWebサイトから、使用したいfastjsonバージョンのjarファイルをダウンロードできます。

https://repo1.maven.org/maven2/com/alibaba/fastjson/

例えば

fastjson-1.2.68.jar: https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.68/fastjson-1.2.68.jar

脆弱性環境ファイル

リンク: https://pan.baidu.com/s/1w1RGrWakmsdjXfoI5dMt6Q
抽出コード: C1s0

Tomcat ドッカー環境

ここでは公式の Tomcat Docker を使用しないでください。現在、公式バージョンは domcat10 です。ビルド時にいくつかの問題が見つかりました。tomcat8 または tomcat9 Docker を使用することをお勧めします。Docker Hub で次の Docker を使用しました

画像.png

docker pull luiscortes/tomcat8.5-ora8jdk-alpine

jdkファイル

リンク: https://pan.baidu.com/s/1ZK34siB-Lk2xMSfr-5lDfA
抽出コード: C1s0

環境構築

1.ドッカーを起動する

港湾労働者を引っ張る

docker pull luiscortes/tomcat8.5-ora8jdk-alpine

ドッカーを起動します

docker run --name tomcat -p 9090:8080 -d luiscortes/tomcat8.5-ora8jdk-alpine

ここでは、ポート 9090 を使用してポート 8080 をマップします。
画像.png
ドッキング ウィンドウを表示します。

docker ps

画像.png
それから私たちは訪問します

http://ip:9090

私たちが構築した Docker が表示されます
画像.png

2.Javaフォルダーを作成する

ドッカーに入る

docker exec -it 60263595095a /bin/bash

ここで、独自の CID に従って
画像.png
Java フォルダーを作成するコマンドを変更することに注意してください。

mkdir /usr/java

次に、ドッカーを終了します

exit

画像.png

3. ファイルをアップロードする

docker を終了したら、先ほどダウンロードしたファイルをアップロードする必要がありますが、
まず各種ファイルがダウンロードされたディレクトリに移動し、ホストからファイルを 1 つずつ docker にコピーし、その中の fastjson_rce を解凍します。 tar.gzを事前に取得してfastjsonフォルダを取得します
画像.png

docker cp fastjson tomcat:/usr/local/tomcat/webapps/
docker cp jdk-8u181-linux-x64.tar.gz tomcat:/usr/java/
docker cp fastjson-1.2.68.jar tomcat:/usr/local/tomcat/webapps/fastjson/WEB-INF/lib/

画像.png画像.png

4. Docker環境を構成する

再びdockerに入ります

docker exec -it 60263595095a /bin/bash

JKDアーカイブを解凍します。

tar -xzvf usr/java/jdk-8u181-linux-x64.tar.gz

pox.xml ファイルを編集する

vi /usr/local/tomcat/webapps/fastjson/META-INF/maven/com.vulhub.fastjson/fastjson/pom.xml

画像.png
対応する fastjson バージョンを変更します。ここでは 1.2.68 に変更し、終了して保存します。
画像.png

5. 環境検証

私たちは訪ねる

http://ip:9090/fastjson/

Hello World という文字が表示されれば環境構築は成功したので
画像.png
、抜け穴がないか確認してみます。

{
    
    "x":{
    
    "@type":"java.net.InetSocketAddress"{
    
    "address":,"val":"dnslog"}}}

パッケージが POST に変更され、Content-Type
画像.png
画像.png
脆弱性トリガーが正常に追加されたことに注意してください。

おすすめ

転載: blog.csdn.net/weixin_46706771/article/details/125474113