JAVA反射机制

java反射含义

反射就是在运行状态中,通过java反射机制,获取一个对象所属的类,了解任意类的属性和方法并且可以调用成员变量和方法,这种动态获取类的信息和动态调用类的方法称为java反射机制。
说白了就是以静(静态语言)制动(动态语言)

java反射机制功能点

  • 在程序运行时查找一个对象所属的类
  • 在程序运行时查找一个类的成员变量和方法
  • 在程序运行时查找一个创建一个类的对象
  • 在程序运行时调用对象的变量和方法

java命令执行类

image

获取类对象

  • forname方法
    image
  • 直接获取法
    image
  • 获取类对象---getClass方法
    image
  • 获取类对象---getSystemclassLoader().loadClass()方法(与forname区别在于不会执行static()中的代码)
    image
获取类方法
  • 1
    image
  • 2
    image
  • 3
    image
  • 4
    image
  • 5
获取类成员变量
  • 1
    image
  • 2
    image
  • 3
    image
  • 4
    image
构造任意类的对象

image

调用任意对象的方法

image

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

image
这是一段正常的程序,某些程序员看到这些代码冗余就会用反射解决,如:
image
这样就有了可利用点rce

posted @   猫鳍  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示