본문 바로가기

날마다 반복되는 생활./아직 처리되지 않은 자료

Java) ManagedObjectManagerFactory Class - CVE-2012-5076

ManagedObjectManagerFactory(CVE-2012-5076)


com.sun.org.glassfish.gmbal.ManagedObjectManagerFactory


Factory는 ManagedObjectManager 인스턴스를 생성하는 데 사용.


static java.lang.reflect.Method

getMethod(java.lang.Class<?> cls, 

java.lang.String name, 

java.lang.Class<?>... types)


파라미터들:

cls - 메소드를 검색 할 클래스

name - 메소드 이름

types - argument 타입들의 배열


Method localMethod = ManagedObjectManagerFactory.getMethod(localObject.getClass(), A[0], new Class[] { [B.class });

cls = localObject.getClass()

name = A[0]

types = new Class[] { [B.class]}


※getMethod : reflection을 통한 메소드 액세스 권한을 가져오기 위한 편리한 메소드이다. Class.getDeclaredMethod와 같지만, 오직 RuntimeException 발생 시 던지는 것만 가능하다. Class.getDeclaredMethod는 해당 class에 명시적으로 선언된 method만 가져온다.

(Java에서 reflection이란 객체를 통해 클래스의 정보를 분석해 내는 프로그램 기법을 말한다. JVM 상에서 실행되는 자바 프로그램의 내부 구성을 확인하거나 런타임시에 프로그램의 작동방법을 변경하고자 하는 경우에 사용된다.)


Returns:

만약 메소드를 발견했다면 return.


Throws:

만약 메소드를 찾지 못하면 GmbalException.