Java反射调用漏洞
概念和理解
简单理解: 通过Class类创建class实例对象,开发者在编写代码时不再需要把所要实例化的class写死,从而实现 动态创建实例对象 的效果,大大减少代码量。但便利的同时,也导致了实例化对象的不可控,可能会导致安全问题。
- 正常方式:通过完整的类名 > 通过new实例化 > 取得实例化对象
- 反射方式:传入类名,获取Class类型 > 创建实例对象
思路:构造输入数据 -> 实例化非预期的class -> 调用非预期的方法利用漏洞。
审计:可以考虑通过关键字 Class 寻找相关操作。
2021/08/06