A continuación se muestra el código que hace que un campo privado de una clase sea accesible usando el método setAccessible
de reflexión java y obteniendo el valor del campo usando el método java.lang.reflect.get, finalmente la configuración está en otro objeto.
A a = new A();
Field[] field = b.getClass().getDeclaredFields();
for(Field f : field) {
f.setAccessible(true);
Object fval = f.get(b);
if(fval != null){
a.set(f.getName(), fval);
}
}
¿Cómo el código f.get(b)
causa un riesgo de seguridad, asumiendo que b
proviene de alguna fuente no confiable?