如何高效学习Java序列化与反序列化技术?

2026-05-25 15:351阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计4547个文字,预计阅读时间需要19分钟。

如何高效学习Java序列化与反序列化技术?

Java反序列化回显,在众多不出网的情况下,一种方法是写webshell(内存马),另一种则是直接回显。基本原理先学习回显,回显的主要方式有以下几种:defineClass、RMI绑定实例、URLClassLoader抛出异常、中间件。

java反序列化回显

在很多不出网的情况下,一种是写webshell(内存嘛),另一种就是回显,本文先学习回显,回显的主要方式有一下几种。

  1. defineClass
  2. RMI绑定实例
  3. URLClassLoader抛出异常
  4. 中间件
  5. 写文件css、js
  6. dnslog

前面有多多少了解过ClassLoader本篇花费一节仔细学习一下

1、前置知识

classloader顾名思义,即是类加载。虚拟机把描述类的数据从class字节码文件加载到内存,并对数据进行检验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机

1.1、ClassLoader加载过程

主要是三个阶段

第一个阶段是加载,把.class文件加载到内存,并为它创建一个java.lang.Class对象

第二个阶段是连接,连接包括三阶段

验证:确保加载的类信息符合JVM规范,无安全方面的问题。 准备:为类的静态Field分配内存,并设置初始值,变量的初始值,如:int=0。 解析:将类的二进制数据中的符号引用替换成直接引用。

阅读全文

本文共计4547个文字,预计阅读时间需要19分钟。

如何高效学习Java序列化与反序列化技术?

Java反序列化回显,在众多不出网的情况下,一种方法是写webshell(内存马),另一种则是直接回显。基本原理先学习回显,回显的主要方式有以下几种:defineClass、RMI绑定实例、URLClassLoader抛出异常、中间件。

java反序列化回显

在很多不出网的情况下,一种是写webshell(内存嘛),另一种就是回显,本文先学习回显,回显的主要方式有一下几种。

  1. defineClass
  2. RMI绑定实例
  3. URLClassLoader抛出异常
  4. 中间件
  5. 写文件css、js
  6. dnslog

前面有多多少了解过ClassLoader本篇花费一节仔细学习一下

1、前置知识

classloader顾名思义,即是类加载。虚拟机把描述类的数据从class字节码文件加载到内存,并对数据进行检验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机

1.1、ClassLoader加载过程

主要是三个阶段

第一个阶段是加载,把.class文件加载到内存,并为它创建一个java.lang.Class对象

第二个阶段是连接,连接包括三阶段

验证:确保加载的类信息符合JVM规范,无安全方面的问题。 准备:为类的静态Field分配内存,并设置初始值,变量的初始值,如:int=0。 解析:将类的二进制数据中的符号引用替换成直接引用。

阅读全文