当前位置: 首页 > news >正文

XMLDecoder反序列化

XMLDecoder反序列化

基础知识

就简单讲讲吧,就是为了解析xml内容的

一般我们的xml都是标签属性这样的写法

比如person对象以xml的形式存储在文件中

1643810762_61fa8fca0420a92b6a49c.png!small?1643810762545

在decode反序列化方法后,控制台成功打印出反序列化的对象。1643810770_61fa8fd28ea357f38ac8c.png!small?1643810771086

就是可以根据我们的标签识别是什么成分的

漏洞原因

我们有些xml标签有特殊的作用

object标签的使用相当于new一个新对象,其中的string标签为构造方法需要的参数。

<object class="javax.swing.JButton"><string>Press me</string>
</object>new JButton("Press me");

void标签的method属性可以在反序列化的过程中自动执行,其中的string标签为方法调用的参数。

<object class="javax.swing.JButton"><string>Press me</string><void method="setName"><string>Greeting</string></void>
</object>JButton button1 = new JButton("Press me");
button1.setName("Greeting");

其实有了上面的这些标签,我们就能够执行命令了

漏洞演示

使用网上找到POC,其中object反序列化类为java.lang.ProcessBuilder,构造方法参数为calc(windows操作系统上的计算器程序),void标签声明了反序列化过程中调用的方法为start方法。1643810854_61fa90262ee375f1e0b46.png!small?1643810854748

就可以实例化我们的ProcessBuilder,调用它的start方法,然后传入calc参数

总结

因为比较简单,自己也没有去复现一下怎么的,也没有去调试,其实调试就是调试对标签的解析过程

参考https://www.freebuf.com/articles/web/321222.html

的解析过程

参考https://www.freebuf.com/articles/web/321222.html

图片都是用的这个链接的

http://www.lryc.cn/news/415544.html

相关文章:

  • C# 高级数据处理:深入解析数据分区 Join 与 GroupJoin 操作的应用与实例演示
  • 数据库典型例题2-ER图转换关系模型
  • Java:设计模式(单例,工厂,代理,命令,桥接,观察者)
  • 【算法】KMP算法
  • nginx续1:
  • 循环队列和阻塞有什么关系?和生产者消费者模型又有什么关系?阻塞队列和异步日志又有什么关系
  • 物理笔记-八年级上册
  • QT键盘和鼠标事件
  • 文件Io编程基础
  • 本地项目提交到Gitee
  • 有了谷歌账号在登录游戏或者新APP、新设备时,要求在手机上点击通知和数字,怎么办?
  • rsyslog如何配置日志轮转
  • LLM推理入门实践:基于 Hugging Face Transformers 和 Qwen2模型 进行文本问答
  • python:YOLO格式数据集图片和标注信息查看器
  • AGI思考探究的意义、价值与乐趣 Ⅴ
  • c++: mangle命名规则
  • 系统化学习 H264视频编码(05)码流数据及相关概念解读
  • 【VMware】如何演示使用U盘在VMware虚拟机上安装Windows11
  • HanLP和Jieba区别
  • 荒原之梦考研:考研二战会很难吗?
  • 【Git企业级开发实战指南①】Git安装、基本操作!
  • Leetcode 3239. Minimum Number of Flips to Make Binary Grid Palindromic I
  • C++面试基础算法的简要介绍
  • 【Linux网络编程】套接字Socket(UDP)
  • jvm方法返回相关指令ireturn,areturn,return等分析
  • 宝塔部署springboot vue ruoyi前后端分离项目,分离lib、resources
  • Python 基础教程:List(列表)的使用
  • kubebuilder常用标签
  • ChatTTS文本转语音本地部署结合内网穿透实现远程使用生成AI音频
  • 基于微信小程序的高校大学生信息服务平台设计与实现