JAVA反射机制
java反射含义
反射就是在运行状态中,通过java反射机制,获取一个对象所属的类,了解任意类的属性和方法并且可以调用成员变量和方法,这种动态获取类的信息和动态调用类的方法称为java反射机制。
说白了就是以静(静态语言)制动(动态语言)
java反射机制功能点
- 在程序运行时查找一个对象所属的类
- 在程序运行时查找一个类的成员变量和方法
- 在程序运行时查找一个创建一个类的对象
- 在程序运行时调用对象的变量和方法
java命令执行类
获取类对象
- forname方法
- 直接获取法
- 获取类对象---getClass方法
- 获取类对象---getSystemclassLoader().loadClass()方法(与forname区别在于不会执行static()中的代码)
获取类方法
- 1
- 2
- 3
- 4
- 5
获取类成员变量
- 1
- 2
- 3
- 4
构造任意类的对象
调用任意对象的方法
那么重点来了,看如下代码
这是一段正常的程序,某些程序员看到这些代码冗余就会用反射解决,如:
这样就有了可利用点rce
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通