美文网首页
com.alibaba.fastjson.JSONExcepti

com.alibaba.fastjson.JSONExcepti

作者: 站在海边看远方 | 来源:发表于2019-04-23 19:39 被阅读0次
String str = "{
                "body": {
        "productOfferingList": [{
            "isBundle": "true",
            "prodSpecCharValueUse": [{
                "productSpecification": {
                    "@type": "Independent Product",
                    "name": "Leased Line",
                    "id": "LL"
                },
                "valueType": "String",
                "name": "Hybrid Flag",
                "productSpecCharacteristicValue": [{
                    "regex": "",
                    "value": "Y"
                }]
            }]
        }]

    }
}";
JSONObject job=JSONObject.parse(str);

在将字符串转换成JsonObject的时候,报错:
com.alibaba.fastjson.JSONException: autoType is not support. Independent Product

现在的解决方案是绕过关键字检查,使用Feature.DisableSpecialKeyDetect

JSONObject jsonObject = JSONObject.parse(str, Feature.DisableSpecialKeyDetect);

fastJson官方解答:
2017年3月15日,fastjson官方发布安全升级公告,该公告介绍fastjson在1.2.24及之前的版本存在代码执行漏洞,当恶意攻击者提交一个精心构造的序列化数据到服务端时,由于fastjson在反序列化时存在漏洞,可导致远程任意代码执行。自1.2.25及之后的版本,禁用了部分autotype的功能,也就是@type这种指定类型的功能会被限制在一定范围内使用。而由于反序列化对象时,需要检查是否开启了autotype。所以如果反序列化检查时,autotype没有开启,就会报错。所以采用上述序列化方式时需要在项目配置fastjson时配置autotype相关内容本文选择在代码中配置其他方式请参考:
enable_autotype

相关文章

网友评论

      本文标题:com.alibaba.fastjson.JSONExcepti

      本文链接:https://www.haomeiwen.com/subject/iombgqtx.html