JAVA反射机制exp

2017-11-29  本文已影响0人  sum3mer

通过一个类获取任意的类。如已知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\")

上一篇下一篇

猜你喜欢

热点阅读