fastjson2017-0315远程代码执行漏洞复现
漏洞名称:
fastjson远程命令执行漏洞
漏洞类型:
远程代码执行漏洞
漏洞危害:
高危
漏洞来源:
https://github.com/alibaba/fastjson/wiki/security_update_20170315
公布时间:
2017-03-15
涉及应用版本:
fastjson小于1.2.24的所有版本
poc适用于fastjson-1.2.22到1.2.24区间
修复版本:
fastjson版本大于1.2.25
应用语言:
Java
漏洞简介:
fastjson是一个java编写的高性能功能非常完善的JSON库,应用范围非常广,在github上star数都超过8k,在2017年3月15日,fastjson官方主动爆出fastjson在1.2.24及之前版本存在远程代码执行高危安全漏洞。
漏洞影响:
攻击者可以通过此漏洞远程执行恶意代码来入侵服务器
漏洞分析:
根据官方给出的补丁文件,主要的更新在这个checkAutoType函数上,而这个函数的主要功能就是添加了黑名单,将一些常用的反序列化利用库都添加到黑名单中。具体包括
bsh,com.mchange,com.sun.,java.lang.Thread,java.net.Socket,java.rmi,javax.xml,org.apache.bcel,org.apache.commons.beanutils,org.apache.commons.collections.Transformer,org.apache.commons.collections.functors,org.apache.commons.collections4.comparators,org.apache.commons.fileupload,org.apache.myfaces.context.servlet,org.apache.tomcat,org.apache.wicket.util,org.codehaus.groovy.runtime,org.hibernate,org.jboss,org.mozilla.javascript,org.python.core,org.springframework
漏洞修复:
最近发现fastjson在1.2.24以及之前版本存在远程代码执行高危安全漏洞,为了保证系统安全,请升级到1.2.28/1.2.29/1.2.30/1.2.31或者更新版本。
1.2.29//1.2.30/1.2.31是在1.2.28版本上修复了一些大家升级过程中遇到的问题的版本,非安全问题,如果升级到1.2.25~1.2.28以及各种sec01版本的,也是没有安全问题的。
1.2.25/1.2.26/1.2.27/1.2.28/1.2.29/1.2.30都是在升级的过程中修复不兼容问题发布的过度版本,如果你是在此之前升级到这些版本,不用因为这次的安全问题再次升级。
参考文章:
http://xxlegend.com/2017/04/29/title- fastjson 远程反序列化poc的构造和分析/
http://xxlegend.com/2018/10/23/基于JdbcRowSetImpl的Fastjson RCE PoC构造与分析/