fastjson 1.2.24 反序列化 CVE-2017-18349 && Fastjson 1.2.47 远程命令执行漏洞

前言

fastjson库是Java的一个json库,其作用是将Java对象转换成json数据来表示,也可以将json数据转换成Java对象

漏洞描述

FastJson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的set/get方法来访问属性。

通过查找代码中相关的方法,即可构造出一些恶意利用链。

环境准备

靶场:Vulhub
靶机:192.168.239.128
Kali :192.168.239.129

复现过程

  • 访问靶机:8090界面如下,表示环境搭建搭建成功。
    fastjson 1.2.24 反序列化 CVE-2017-18349 && Fastjson 1.2.47 远程命令执行漏洞_第1张图片

  • 新建一个shell.java,作用是将shell反弹到Kali上,并编译成.class文件。fastjson 1.2.24 反序列化 CVE-2017-18349 && Fastjson 1.2.47 远程命令执行漏洞_第2张图片

  • 监听7777端口。
    fastjson 1.2.24 反序列化 CVE-2017-18349 && Fastjson 1.2.47 远程命令执行漏洞_第3张图片

  • .class文件目录下起一个Python的HTTP服务,并确保可以正常访问。fastjson 1.2.24 反序列化 CVE-2017-18349 && Fastjson 1.2.47 远程命令执行漏洞_第4张图片fastjson 1.2.24 反序列化 CVE-2017-18349 && Fastjson 1.2.47 远程命令执行漏洞_第5张图片

  • 借助marshalsec项目,启动一个RMI服务器,监听9999端口,并制定加载远程类shell.classfastjson 1.2.24 反序列化 CVE-2017-18349 && Fastjson 1.2.47 远程命令执行漏洞_第6张图片

  • 此时,攻击环境已准备就绪,上Payloadfastjson 1.2.24 反序列化 CVE-2017-18349 && Fastjson 1.2.47 远程命令执行漏洞_第7张图片

  • 成功反弹shell并执行命令。But为什么不能执行ifconfig,求解。fastjson 1.2.24 反序列化 CVE-2017-18349 && Fastjson 1.2.47 远程命令执行漏洞_第8张图片

===============================================================================================

  • 又看了一眼Fastjson 1.2.47 远程命令执行漏洞就是Payload不一样,其余没变。fastjson 1.2.24 反序列化 CVE-2017-18349 && Fastjson 1.2.47 远程命令执行漏洞_第9张图片

你可能感兴趣的:(渗透测试)