Dubbo反序列化漏洞复现分析(二)

简介: Dubbo反序列化漏洞复现分析(二)

b635c669e959a423e32f2b68063e7f4a_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

成功弹出计算机

b2c311a607d649b74b3da71ff5d9ef5f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


5.漏洞分析


我们从idea里的报错栈可以看到入口应该是javax.servlet.http.HttpServlet.service

7782de3ea893132e78e3a4a15ca0b208_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

我们在this.service处下个断点

6478593ae0bb94a8dfd95dd80be50968_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

我们用postman发个包,然后跟进去,发现它会用handler函数处理request,response

66a49ee79287926f076494c563d382de_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

随后发现其进入org.apache.dubbo.rpc.protocol.heep.HttpProtocol中的handle

1b0a891d9071f15c5fe347d60e5af106_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

当跟进去后handleRequest,F8后发现直接弹出了计算机,所以可以判断漏洞出发点就在红框中,因此选择跟进

c3295d67fda1bfb078c34b79435ce498_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

424fe3f68a643d8f63083e71c6c17211_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

继续进一步跟踪,最后在

org.springframework.remoting.rmi.RemoteInvocationSerializingExporter的

doReadRemoteInvocation发现了反序列化入口

该ois对象来源为报文中post data部分,对于传入的ois并没有做任何安全检查,直接就执行read0bjec方法导致REC产生。

267985852d8b5caf25998ff400114285_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


6.坑点


我一开始发包是采用burp进行发包的,但是一直没有达成效果。

d9ce27ffcee4eab4b9de1eca0147838d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

就连错误栈里都没看到commonsollection4的执行调用。

3976329468a9bc746d753d808448edfb_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

我当时打开断点判断时,发现会进入read0bject的,但是就是没成功。

bee98979222410b568d190e33f1dff35_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

我估计是因为编码问题吧,直接从payload.ser文件中粘贴序列化代码,导致代码发生了变化,所以传进去后反序列化就不行了。


参考链接


https://zhzhdoai.github.io/2020/08/26/Dubbo%E5%8E%86%E5%8F%B2%E6%BC%8F%E6%B4%9 E%E4%B9%8BCVE-2019-17564/

https://www.cnblogs.com/wh4am1/p/12307848.html


相关文章
|
负载均衡 Dubbo 应用服务中间件
微服务技术系列教程(31) - Dubbo-原理及负载均衡分析
微服务技术系列教程(31) - Dubbo-原理及负载均衡分析
93 0
|
6月前
|
Dubbo Cloud Native 网络协议
【Dubbo3技术专题】「服务架构体系」第一章之Dubbo3新特性要点之RPC协议分析介绍
【Dubbo3技术专题】「服务架构体系」第一章之Dubbo3新特性要点之RPC协议分析介绍
94 1
|
1月前
|
Dubbo IDE Java
dubbo学习二:下载Dubbo-Admin管理控制台,并分析在2.6.1及2.6.1以后版本的变化
这篇文章是关于如何下载和部署Dubbo管理控制台(dubbo-admin)的教程,并分析了2.6.1版本及以后版本的变化。
41 0
dubbo学习二:下载Dubbo-Admin管理控制台,并分析在2.6.1及2.6.1以后版本的变化
|
6月前
|
负载均衡 Dubbo 算法
深入理解Dubbo-2.Dubbo功能之高级特性分析
深入理解Dubbo-2.Dubbo功能之高级特性分析
105 0
|
6月前
|
Java fastjson 数据安全/隐私保护
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
153 0
|
6月前
|
Dubbo Java 应用服务中间件
Dubbo的原理分析
Dubbo的原理分析
76 0
|
缓存 Dubbo Java
Dubbo的优雅下线原理分析
在线上环境,用到更多的,是kill pid指令,这个指令,等同于kill -15 pid指令,因此,当你在网上看到一些介绍kill -15 pid指令时,不用纠结好像没用到过,其实,就是你用到最多的kill pid指令。使用这个指令时,系统会对pid进程发送一个SIGTERM信号,就像给pid打了一个电话,告诉他,你的房子就要到期了,麻烦快点清理好东西搬走。这时,你仍有充裕的时间,把自己的东西打包好,好好清理下房间,没问题了,再搬出去。
64 0
|
负载均衡 监控 Dubbo
Dubbo底层原理分析和分布式实际应用
Dubbo底层原理分析和分布式实际应用
|
存储 Dubbo Java
dubbo 源码 v2.7 分析:通信过程及序列化协议
前面我们介绍了dubbo的核心机制,今天将开始分析远程调用流程。毕竟,作为一个rpc框架,远程调用是理论的核心内容。通过对dubbo相关实现的探究,深入了解rpc原理及可能的问题。
188 0
|
负载均衡 Dubbo Java
dubbo源码v2.7分析:结构、container入口及线程模型
Apache Dubbo 是一款高性能、轻量级的开源 Java 服务框架,提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展能力,运行期流量调度,可视化的服务治理与运维。
94 0