每日一题,反射如何通过安全检测?

2021-06-29 15:30:53 浏览数 (1)

项目做了安全测试,然后 AccessibleObject API 允许程序员绕过由 Java 访问说明符提供的 access control 检查。特别是它让程序员能 够允许反映对象绕过 Java access control,并反过来更改私有字段或调用私有方法、行为,这些通常情况下 都是不允许的。

如何修改,才能通过安全测试???

实体类

代码语言:javascript复制
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Test implements Serializable {

    private String userName;
}

反射方法

代码语言:javascript复制
public static void main(String[] args) throws Exception {
    Test test = new Test();
    Field userNameField = test.getClass().getDeclaredField("userName");
    userNameField.setAccessible(true);
    userNameField.set(test, "小朱");
    System.out.println(test.toString());
}

因为此号没有留言功能,讨论功能试用结束,所以想回答,或者想知道答案的,去看原文链接,在那里我们可以互动起来!

0 人点赞