0%

java安全入门(二)(cc链2)

CC1链在实际利用过程存在一些限制,例如jdk8u71版本已经无法利用反序列化漏洞了,通过分析发现jdk8u71版本中改写了sun.reflect.annotation.AnnotationInvocationHandler类的readObject方法,CC1链在jdk8u71版本以上已经被修复了,因此jdk8u71版本重新构造了一条新的利用链(CC2链)

不过CC2链使用了apache commons collections组件4.0版本来进行构造,并没有使用3.1版本,首先 CommonsCollections3 中无法使用,因为其 TransformingComparator 无法序列化。其次只有 CommonsCollections4-4.0 可以使用,因为 CommonsCollections4 其他版本去掉了 InvokerTransformer 的 Serializable 继承,导致无法序列化。

Read more »

java_cc链1

组件介绍

Apache Commons 当中有⼀个组件叫做 Apache Commons Collections ,主要封装了Java 的 Collection(集合) 相关类对象,它提供了很多强有⼒的数据结构类型并且实现了各种集合工具类。

作为Apache开源项⽬的重要组件,Commons Collections被⼴泛应⽤于各种Java应⽤的开发,⽽正 是因为在⼤量web应⽤程序中这些类的实现以及⽅法的调⽤,导致了反序列化漏洞的普遍性和严重性。

Read more »

java类加载机制

在Java的世界里,每一个类或者接口,在经历编译器后,都会生成一个个.class文件。

类加载机制指的是将这些.class文件中的二进制数据读入到内存中,并对数据进行校验,解析和初始化。最终,每一个类都会在方法区保存一份它的元数据,在堆中创建一个与之对应的Class对象。

Read more »

java动态代理

为什么要使用动态代理?

在设计模式中有一个非常常用的模式:代理模式。学术一些来讲,就是为某些对象的某种行为提供一个代理对象,并由代理对象完全控制该行为的实际执行。

Read more »

java反射

之前只是浅浅了解了一下,现在来深度学习一下

什么是java反射机制?

Java反射机制是指在运行时动态地获取一个类的信息,以及在运行时动态地创建对象、调用方法、访问属性等操作。Java反射机制提供了许多方法来获取一个类的信息,包括类的名称、父类、接口、构造方法、方法、字段等。通过反射,可以在运行时动态地创建对象,而不需要在编译时确定对象的类型。

Read more »

DC-1

信息搜集

nmap扫描

1
nmap -A192.168.112.0/24
Read more »

Velocity SSTI

Apache Velocity是一个基于Java的模板引擎,它提供了一个模板语言去引用由Java代码定义的对象。Velocity是Apache基金会旗下的一个开源软件项目,旨在确保Web应用程序在表示层和业务逻辑层之间的隔离(即MVC设计模式)。

Read more »