常见中间件漏洞复现之【WebLogic】!

Weblogic介绍

WebLogic是美国Oracle公司出品的⼀个application server,确切的说是⼀个基于JAVAEE架构的中间件,默认端⼝:7001 WebLogic是⽤于开发、集成、部署和管理⼤型分布式Web应⽤、⽹络应⽤和数据库应⽤的Java应⽤服务器。将Java的动态功能和Java Enterprise标准的安全性引⼊⼤型⽹络应⽤的开发、集成、部署和管理之中。
----------------------

后台弱口令GetShell

漏洞描述

通过弱口令进⼊后台界⾯ , 上传部署war包 , getshell
--------------------

影响范围

全版本(前提后台存在弱口令)
--------------------

环境搭建

cd vulhub-master/weblogic/weak_password
docker-compose up -d
--------------------

漏洞复现

默认账号密码:weblogic/Oracle@123
weblogic常用弱口令:https://cirt.net/passwords?criteria=weblogic
这里注意, 单个账号错误密码5次之后就会⾃动锁定。
--------------------
搭建环境进入,在url后加/console可以进入登录页面


输入默认密码并登录

登录后台后,点击部署,点击安装,点击上传文件。

上传war包,jsp木马压缩成zip,修改后缀为war,上传

访问并连接部署好的war

------------------------------------

CVE-2017-3506

XMLDecoder反序列化漏洞

漏洞描述

Weblogic的WLS Security组件对外提供了webserver服务,其中使用了XMLDecoder来解析用户输入的XML数据,在解析过程中出现反序列化漏洞,可导致任意命令执行。
-------------------------

影响版本

受影响版本:WebLogic 10.3.6.0, 12.1.3.0, 12.2.1.1, 12.2.1.2。
------------------------

环境搭建

cd vulhub-master/weblogic/weak_password
docker-compose up -d
------------------------

漏洞复现

访问以下目录中的一种,有回显如下图可以判断wls-wsat组件存在

在当前页面抓包之后,添加下面请求包,反弹shell。

访问得到输入的东西

软件注入 :Java反序列化漏洞利用工具

打开Java反序列化漏洞利用工具软件,将要测试的网址复制进去,点击检查

存在漏洞点击命令执行 输入whoami点击执行

点击文件上传--将自己的jsp木马输入进去 点击上传

下方会出现木马注入的地址 访问此地址,访问成功证明注入成功

打开哥斯拉进行连接测试,测试成功!

----------------------

漏洞修复

更新到最新版本,打上10271的补丁,对访问wls-wsat的资源进⾏访问控制 ,或者根据业务所有需求,考虑是否删除WLS-WebServices组件。包含此组件路径为:Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_interna l/wls-wsat
Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/w ls
wsat.warMiddleware/wlserver_10.3/server/lib/wls-wsat.war
以上路径都在WebLogic安装处。删除以上文件之后,需重启WebLogic。确认http://weblogic_ip/wlsw sat/ 是否为404页面。
----------------------------------------

CVE-2019-2725

漏洞描述

wls9-async等组件为WebLogic Server提供异步通讯服务,默认应用于WebLogic部分版本。由于该WAR包在反序列化处理输⼊信息时存在缺陷,攻击者通过发送精心构造的恶意 HTTP 请求,即可获得目标服务器的权限,在未授权的情况下远程执⾏命令。
-----------------------

影响版本

weblogic 10.x weblogic 12.1.3
-----------------------

环境搭建

cd vulhub-master/weblogic/weak_password
docker-compose up -d

-----------------------

漏洞复现

搭建环境,启动在url后加/_async/AsyncResponseService,显示以下页面,则说明存在漏洞

进行抓包,修改请求包 , 写⼊shell

访问植入的木马文件

使用哥斯拉连接成功

漏洞修复

1. 禁⽤bea_wls9_async_response组件;
2. 删除wls9_async_response的war包并重启 ;
3. 禁⽌访问 /_async/* 路径。

------------------------------------

CVE-2018-2628

WebLogic T3协议反序列化命令执⾏漏洞(CVE-2018- 2628)

漏洞描述

Weblogic Server中的RMI 通信使⽤T3协议在Weblogic Server和其它Java程序(客户端或者其它Weblogic Server实例)之间传输数据, 服务器实例会跟踪连接到应⽤程序的每个Java虚拟机(JVM)中, 并创建T3协议通信连接, 将流量传输到Java虚拟机. T3协议在开放WebLogic控制台端口的应用上默认开 启, 攻击者可以通过T3协议发送恶意的的反序列化数据, 进⾏反序列化, 实现对存在漏洞的weblogic组件 的远程代码执行攻击。
----------------------------

漏洞影响

Oracle WebLogic Server10.3.6.0.0 Oracle WebLogic Server12.1.3.0.0 Oracle WebLogic
Server12.2.1.2.0 Oracle WebLogic Server12.2.1.3.0
----------------------------

环境搭建

cd vulhub-master/weblogic/CVE-2018-2628
docker-compose up -d
----------------------------

漏洞复现

搭建环境并打开

直接使用利用工具(Liqun工具箱)

点击文件上传上传jsp木马

访问木马路径,访问成功证明植入成功

使用哥斯拉测试连接,连接成功

-------------------------

漏洞修复

1. 及时更新补丁 ;
2. 禁⽤T3协议 ;
3. 禁⽌T3端⼝对外开放,或者限制可访问T3端⼝的IP来源。
4. 升级版本

--------------------------------------

CVE-2018-2894

WebLogic文件任意上传漏洞

漏洞描述

Weblogic Web Service Test Page中⼀处任意⽂件上传漏洞,Web Service Test Page 在 "⽣产模式" 下默认不开启,所以该漏洞有⼀定限制。
------------------

漏洞版本

weblogic 10.3.6.0
weblogic 12.1.3.0
weblogic 12.2.1.2
weblogic 12.2.1.3
------------------

环境搭建

cd vulhub-master/weblogic/CVE-2018-2894
docker-compose up -d
这里环境后台密码是随机得,获取密码: docker-compose logs | grep password
------------------

漏洞复现

设置Web服务测试开启
http://1.15.136.212:7001

登录获取的账号密码

进⼊ config.do ⽂件进⾏设置,将⽬录设置为 ws_utc 应⽤的静态⽂件css⽬录

将此代码 替换掉工作目录/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.w ebservices.wls.ws-testclient-app-wls/4mcj4y/war/css

点击安全---添加

添加完成后f12查找元素找到对应时间戳

Webshell链接
http://192.168.1.159:7001/ws_utc/css/config/keystore/1688302924206_peak.jsp
时间戳_文件名.jsp ------- 使用哥斯拉连接

-------------------------------------

CVE-2020-14882

WebLogic远程代码执行漏洞

漏洞描述

CVE-2020-14882 允许远程用户绕过管理员控制台组件中的身份验证。
CVE-2020-14883 允许经过身份验证的⽤户在管理员控制台组件上执⾏任何命令。
使⽤这两个漏洞链,未经身份验证的远程攻击者可以通过 HTTP 在 Oracle WebLogic 服务器上执⾏任意命令并完全控制主机
-----------------------------

影响版本

Oracle Weblogic Server 10.3.6.0
Oracle Weblogic Server 12.1.3.0
Oracle Weblogic Server 12.2.1.3
Oracle Weblogic Server 12.2.1.4
Oracle Weblogic Server 14.1.1.0
---------------------------

环境搭建

cd vulhub-master/weblogic/CVE-2020-14882
docker-compose up -d
---------------------------

漏洞复现

1.访问管理控制台
http://1.15.136.212:7001/console/login/LoginForm.jsp
2.使用以下url绕过登录认证
http://1.15.136.212:7001/console/css/%252e%252e%252fconsole.portal

此时达到未授权得效果。还未能GetShell。可以利⽤第⼆个漏洞(CVE-2020-14883),远程加载XML⽂件拿到Shell
⾸先访问以下 URL ,以连接 2 个漏洞并执⾏以下命令

复制代码
http://1.15.136.212:7001/console/css/%252e%252e%252fconsole.portal?
_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runti
me.getRuntime().exec('touch%20/tmp/success');")

我们进入到docker中可以看到命令已经成功运行了

这种利用方法只能在 Weblogic 12.2.1 及以上版本中使用,因为 10.3.6 没有 class

-------------------

在攻击机中执行命令(脚本利用)

--------------------

漏洞修复

该漏洞利用的缺点是,它要求 Weblogic 服务器能够访问恶意 XML。
--------------------

实战挖掘

如何判断Weblogic
1. 7001
2.浏览器插件
3.报错页面 Error 404--Not Found
4.默认管理页面路由
/console/login/LoginForm.jsp
---------------------
FOFA

复制代码
"weblogic"
app=
"Oracle-WebLogic-Server-管理控制台"
app=
"BEA-WebLogic-Server" || app=
"Weblogic_interface_7001"

推荐 :
"WebLogic" && port="7001" && country="CN" && title=="Error 404--Not Found"
相关推荐
阿昌喜欢吃黄桃5 天前
RocketMq事务消息原理
java·中间件·消息队列·rocketmq·mq
半夜修仙6 天前
延迟队列的介绍及常见问题
java·数据库·中间件·rabbitmq
手握风云-6 天前
一条消息的旅程:RabbitMQ 学习与实践(一)
中间件·rabbitmq
RH2312117 天前
2026.6.8Linux
java·数据库·中间件
理人综艺好会8 天前
双Token机制在实际项目中的应用与实践
中间件·token
番茄去哪了8 天前
神领物流面试题(一)
java·大数据·中间件
念何架构之路8 天前
消息中间件
中间件
都说名字长不会被发现8 天前
Spring Boot Starter 中间件账号密码加密方案设计与实现
java·spring boot·后端·中间件
瀚高PG实验室9 天前
java中间件无法连接数据库
java·数据库·中间件·瀚高数据库
之歆9 天前
Day11_Express 深入解析:从中间件到项目实战
中间件·express