,fastjson在转换的时候就会把该json字符串转换到@type指定的类并生成一个JSONObject,在转换过程中会调用该类得setter和getter方法....跟进,这一步,执行了该类的getter方法
跟进一下Json.parse方法,发现这里只调用了一个public static Object parse(String text, int features...) ,然后就返回了,所以只调用了setter方法....对象使用了getExternalExtensionsMap()如果_tfactory为空,则会抛出NullPointerException
所以这里_tfactory也不能为null
继续跟进,在实例化完成后...,进行(AbstractTranslet)强制类型转换
所以我们的恶意代码必须为AbstractTranslet类或其子类
到这里就疏理完了,实际上在调的时候遇到的坑
fastjson会把key值前面的