首页  

fastjson为什么这么多安全漏洞     所属分类 fastjson 浏览量 237
罪魁祸首 autoType特性

反序列  动态创建 @type 指定的类    

1.2.68版本提供SafeMode 

ParserConfig.getGlobalInstance().setSafeMode(true);

safeMode 完全禁用autotype,无视白名单

禁用 autoType ,老老实实做对象和字符串的转换

建议升级至最新版本、打开SafeMode

实例演示
public class Hack{
    public Hack(){
    	System.out.println("you are terminated! ");
    	System.exit(1);
    }  	
}

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.parser.ParserConfig;

public class HackTest {

	public static void main(String[] args) throws Exception {
		String str = "{\"@type\":\"dyyx.dto.Hack\"}";
		// 使用高版本 ,需要加白名单
		ParserConfig.getGlobalInstance().addAccept("dyyx.dto.Hack");
		//  com.alibaba.fastjson.JSONException: autoType is not support. dyyx.dto.Hack
		Object obj = JSON.parseObject(str);
		System.out.println(obj);
		
		while(true){
			Thread.sleep(1000);
		}
	}
}

完整代码
https://gitee.com/dyyx/demos/blob/master/jackson/src/test/java/dyyx/HackTest.java

上一篇     下一篇
JSON简介

fastjson json对象 java对象 和 string 之间的转换

15条简单的职场规则

递归与尾递归java实例

物联网云平台简介

jdk里的泛型