[阿一网络安全] fastjson 代码执行(CNVD-2019-22238)

2024-08-22 16:44

本文主要是介绍[阿一网络安全] fastjson 代码执行(CNVD-2019-22238),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

漏洞原理:

漏洞利⽤FastJson autotype处理Json对象的时候,未对@type字段进⾏完整的安全性验证,攻击者可以传⼊危险类,并调⽤危险类连接远程RMI主机,通过其中的恶意类执⾏代码。攻击者通过
这种⽅式可以实现远程代码执⾏漏洞,获取服务器敏感信息,甚⾄可以利⽤此漏洞进⼀步的对服务器数据进⾏操作。

攻击流程:

制作反弹Payload -> 开启HTTP服务 -> 启动LDAP服务 -> 监听EXP中端⼝ -> 执⾏Payload

开启靶场,靶场成功运行

环境准备,Java 版本 1.8 和 maven

打开阿⾥云 vps,查看 Java 版本

在 kali 中安装 maven

下载 marshalsec ⼯具

下载地址: GitHub - mbechler/marshalsec
将下载好的⽂件传输到 vps 中
编译完成会如图⽚显示 BUILD SUCCESS

还会在 target ⽬录下⽣成 marshalsec-0.0.3-SNAPSHOT-all.jar⽂件

攻击步骤(阿⾥云 vps)

编写恶意代码 TouchFile

在阿⾥云 vps 中将这段代码在终端编译成 javac ⽂件
javac TouchFile.java

重开⼀个阿⾥云 vps 窗⼝,使⽤ python 开启 http 服务,并使 ⽤ 1234 端⼝
可以从⽹⻚访问到阿⾥云 vps 中 root ⽬录下的.class ⽂件


方法一:

使⽤ marshalsec 项⽬,启动 RMI 服务,监听 9988 端⼝并加载 远程类 TouchFlies.class

打开 burp 进⾏抓包

修改响应包的传参⽅式,修改Content-Type 参数为 json

在响应包中添加 payload

执行命令

burp 中发送构造的数据包
可以在开启的 http 服务中看到 TouchFile.class ⽂件被下载,状 态码显示 200

试验成功

重新构造恶意代码,反弹Shell

将 TouchFile.java ⽂件编译成 TouchFile.class ⽂件
重复上述操作
执⾏命令,开启 rmi 服务

burp发送数据包

成功下载.class文件

nc 监听 9966 端⼝,成功 getshell
ls /tmp
得到 flag


方法二:

JNDI-Injection-Exploit-1.0.jar 开启 RMI 服务

burp抓包

更改响应包的传参伟 POST,更改Content-Type: application/json 参数

构造Payload,发送数据包

开启 nc监听,成功getshell

这篇关于[阿一网络安全] fastjson 代码执行(CNVD-2019-22238)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1096831

相关文章

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

如何做好网络安全

随着互联网技术的飞速发展,网站已成为企业对外展示、交流和服务的重要窗口。然而,随之而来的网站安全问题也日益凸显,给企业的业务发展和用户数据安全带来了巨大威胁。因此,高度重视网站安全已成为网络安全的首要任务。今天我们就来详细探讨网站安全的重要性、面临的挑战以及有什么应对方案。 一、网站安全的重要性 1. 数据安全与用户隐私 网站是企业存储和传输数据的关键平台,包括用户个人信息、

网络安全运维培训一般多少钱

在当今数字化时代,网络安全已成为企业和个人关注的焦点。而网络安全运维作为保障网络安全的重要环节,其专业人才的需求也日益增长。许多人都对网络安全运维培训感兴趣,那么,网络安全运维培训一般多少钱呢?   一、影响网络安全运维培训价格的因素   1. 培训内容的深度和广度   不同的网络安全运维培训课程涵盖的内容有所不同。一些基础的培训课程可能主要涉及网络安全基础知识、常见安全工具的使用等,价

【网络安全】服务基础第二阶段——第二节:Linux系统管理基础----Linux统计,高阶命令

目录 一、Linux高阶命令 1.1 管道符的基本原理 1.2 重定向 1.2.1 输出重定向 1.2.2 输入重定向 1.2.3 wc命令基本用法 1.3 别名 1.3.1 which命令基本语法 1.3.2 alias命令基本语法 1.4 压缩归档tar 1.4.1 第一种:gzip压缩 1.4.2 第二种:bzip压缩 1.5 tar命令 二、VIM编辑器使用

120张网络安全等保拓扑大全

安全意识培训不是一个ppt通吃,不同的场景应该用不同的培训方式和内容http://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484385&idx=1&sn=92f5e7f3ee36bdb513379b833651711d&chksm=c0e47abdf793f3ab7f4621b64d29c04acc03b45c0fc1eb613c37f3

网络安全(sql注入)

这里写目录标题 一. information_schema.tables 和 information_schema.schemata是information_schema数据库中的两张表1. information_schema.schemata2. information_schema.tables 二. 判断注入类型1. 判断数字型还是字符型注入2. 判断注入闭合是""还是'' 三. 判

2019学习计划

工作三年了,第一年感觉是荒废的,第二年开始学习python,第三年开始自动化 感觉自己会的东西比较少,而且不够深入,流于表面 现制定一下今年大概的学习计划 需持续巩固加强:python、ui自动化、接口自动化、sql等 代码量需提升,敲的不够(重点) 学习: 1.移动端测试,appium等 2.前端知识系统整理学习  3.性能测试 4.docker入门,环境搭建 5.shell

【网络安全】古典密码体制概述

1. 古典密码体制概述 1.1 定义与历史背景 古典密码体制是指在计算机科学和信息安全技术出现之前的传统加密方法。这些方法主要包括替换和易位两种基本形式。古典密码体制的特点是简单、易用,但安全性不高,容易被破解。在古代,人们使用纸、笔或简单的器械来实现加密和解密操作。 定义:古典密码体制是基于简单数学运算和文字替换的加密方法,包括替代密码和置换密码两大类。历史背景:古典密码的使用可以追溯到古

【网络安全 | 甲方建设】SaaS平台、Jira工具及Jenkins服务器

原创文章,不得转载。 文章目录 SaaS平台友好性 Jira友好性 Jenkins友好性 SaaS平台 SaaS,全称为 “Software as a Service”(软件即服务),是一种基于云计算的软件交付模型。在这种模型中,软件不需要用户在本地安装和维护,而是通过互联网访问和使用。软件通常由服务提供商托管,用户只需通过浏览器或轻量级客户端连接到远程服务器即可使用

PCDN 技术如何保障网络安全(壹)

在当今数字化时代,网络安全成为了至关重要的问题。PCDN(Peer-to-Peer Content Delivery Network)技术在提升内容分发效率的同时,也采取了一系列措施来保障网络安全。 一、加密传输与数据保护 PCDN 技术采用先进的加密算法对传输中的数据进行加密,确保数据在节点之间传输的安全性。无论是用户请求的内容还是节点之间共享的数据,都被加密处理,使得黑客即使截取了数据