目录 分析 FastJson<=1.2.48 FastJson>=1.2.49 EXP FastJson<=1.2.48 FastJson>=1.2.49 后话 核心速览 找到一个能够readObject的类,调用toString方法,然后调用toJSONString方法,再调用getter,实现反序列化利用。 利用链: BadAttributeValueExpException#readObjct -> JSONArray#toString -> JSONArray#toJSONString -> getter 分析 JSONArray implement了Serializable接口,且本身与继承的父类JSON都没有实现readObject方法的重载(也就不会过滤黑名单类),此外,其父类JSON类的toString方法可以触发toJSONString方法 JSON#toString JSON#toJSONString 使用 toJSONString 方法将一个 Java 对象转换为 JSON 字符串时,会自动调用对象的 getter 方法来获取属性的值...