JAVA反射机制exp

通过一个类获取任意的类。如已知java.lang.Math 这个类,然后调用java.lang.Math.class.forName('xx)就可以执行Java 代码。如以下exp

知识点:

通过类对象的getConstructor()或getDeclaredConstructor()方法获得构造器(Constructor)对象并调用其newInstance()方法创建对象,适用于无参和有参构造方法。

getConstructor()的参数是class[],即类数组,newInstance()的参数是类数组对应的对象数组。

上述exp的核心含义为,执行BufferedReader对象的readLines()方法。中间的过程实质为:

BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(java.lang.Runtime.getRuntime().exec(\"cat /etc/passwd\")

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home...
    光剑书架上的书阅读 3,918评论 2 8
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,740评论 18 399
  • Java 语言支持的类型分为两类:基本类型和引用类型。整型(byte 1, short 2, int 4, lon...
    xiaogmail阅读 1,365评论 0 10
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 4,650评论 1 114
  • 好几天没有码字了,如继续将要放弃又一计划。 可以找的借口就是春节,可这又能改变些什么呢。不能,只能让自己更加的自责...
    卡卡22阅读 168评论 0 1