Fastjson反序列化漏洞攻防演进:从1.2.24到1.2.83的对抗史
1. Fastjson安全机制与漏洞背景
Fastjson作为阿里巴巴开源的高性能JSON处理库,其核心功能包括:
- 序列化 :
JSON.toJSONString()将Java对象转为JSON字符串 - 反序列化 :
JSON.parseObject()将JSON字符串还原为Java对象
在反序列化过程中,Fastjson通过 @type 标识符动态加载类并调用setter/getter方法。这种灵活性埋下了安全隐患——当攻击者控制 @type 指定的类名时,可能触发恶意代码执行。
关键风险点 :
// 典型漏洞触发代码结构
String payload = "{\"@type\":\"恶意类\",\"属性名\":\"攻击载荷\"}";
JSON.parseObject(payload);
2. 关键版本漏洞与绕过手法解析
2.1 1.2.24版本:JNDI注入的起点
漏洞原理 :
- 利用
com.sun.rowset.JdbcRowSetImpl类的dataSourceName属性 - 通过JNDI lookup实现RMI/LDAP协议远程类加载
攻击链示例 :
- 构造恶意JSON:
{
447




被折叠的 条评论
为什么被折叠?



