목록리플렉션 (1)
삶 가운데 남긴 기록 AACII.TISTORY.COM
JAVA 보안 Unsafe Reflection
Unsafe Reflection 안전하지 않은 리플렉션 동적 클래스 loading시 외부의 입력을 사용할 경우, 공격자가 외부 입력을 변조하여 의도하지 않은 클래스가 로딩되도록 할 수 있습니다. 방어 방법 외부의 입력을 직접 클래스 이름으로 사용하지 말고, white 리스트에서 클래스 이름을 선택하도록 합니다. 안전하지 않은 코드의 예 String type = props.getProperty("type"); Worker w; try{ Class workClass = Class.forName(type + "Worker"); w = (Worker) workClass.newInstance(); w.doAction(); }catch (ClassNotFoundException e) { …… } 5라인 에서 외부입..
DEV&OPS/Java
2022. 8. 19. 09:29