fastjson为什么这么多安全漏洞
所属分类 fastjson
浏览量 1298
罪魁祸首 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里的泛型