JAVA反射机制
java反射含义
反射就是在运行状态中,通过java反射机制,获取一个对象所属的类,了解任意类的属性和方法并且可以调用成员变量和方法,这种动态获取类的信息和动态调用类的方法称为java反射机制。
说白了就是以静(静态语言)制动(动态语言)
java反射机制功能点
- 在程序运行时查找一个对象所属的类
- 在程序运行时查找一个类的成员变量和方法
- 在程序运行时查找一个创建一个类的对象
- 在程序运行时调用对象的变量和方法
java命令执行类

获取类对象
- forname方法

- 直接获取法

- 获取类对象---getClass方法

- 获取类对象---getSystemclassLoader().loadClass()方法(与forname区别在于不会执行static()中的代码)

获取类方法
- 1

- 2

- 3

- 4

- 5
获取类成员变量
- 1

- 2

- 3

- 4

构造任意类的对象

调用任意对象的方法

那么重点来了,看如下代码

这是一段正常的程序,某些程序员看到这些代码冗余就会用反射解决,如:

这样就有了可利用点rce

浙公网安备 33010602011771号