WebLogic 是美国 Oracle 公司出品的一个 application server,确切的说是一个基于 JAVA EE 架构的中间件,WebLogic 是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的 Java 应用服务器。将 Java 的动态功能和 Java Enterprise 标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
Java 序列化,简而言之就是把 java 对象转化为字节序列的过程。而反序列话则是再把字节序列恢复为 java 对象的过程,然而就在这一转一变得过程中,程序员的过滤不严格,就可以导致恶意构造的代码的实现。
使用 vulhub 实验环境,启动实验环境,访问靶机,抓包,修改数据包;
用burp抓包,修改请求
Kali 启动监听; 发送数据包成功后,拿到 shell。
1)升级Oracle 10月份补丁;
2)对访问wls-wsat的资源进行访问控制。
Weblogic 中存在一个 SSRF 漏洞,利用该漏洞可以发送任意 HTTP 请求,进而攻击内网中 redis、fastcgi 等脆弱组件。
使用vulhub实验环境,启动环境
访问http://192.168.139.129:7001/uddiexplorer/SearchPublicRegistries.jsp
用burp抓包,修改请求;
启动nc监听2222端口;
拿到shell。
方法一: 以修复的直接方法是将SearchPublicRegistries.jsp直接删除就好了;
方法二: 1)删除uddiexplorer文件夹
2)限制uddiexplorer应用只能内网访问
方法三:(常用) Weblogic服务端请求伪造漏洞出现在uddi组件(所以安装Weblogic时如果没有选择uddi组件那么就不会有该漏洞),更准确地说是uudi包实现包uddiexplorer.war下的SearchPublicRegistries.jsp。方法二采用的是改后辍的方式,修复步骤如下:
1)将weblogic安装目录下的wlserver_10.3/server/lib/uddiexplorer.war做好备份
2)将weblogic安装目录下的server/lib/uddiexplorer.war下载
3)用winrar等工具打开uddiexplorer.war
4)将其下的SearchPublicRegistries.jsp重命名为SearchPublicRegistries.jspx
5)保存后上传回服务端替换原先的uddiexplorer.war
6)对于多台主机组成的集群,针对每台主机都要做这样的操作
7)由于每个server的tmp目录下都有缓存所以修改后要彻底重启weblogic(即停应用--停server--停控制台--启控制台--启server--启应用)。
通过访问 config.do 配置页面,先更改 Work Home 工作目录,用有效的已部署的 Web 应用目录替换默认的存储 JKS Keystores 文件的目录,之后使用"添加 Keystore 设置"的功能,可上传恶意的 JSP 脚本文件。
访问http://192.168.139.129:7001/ws_utc/config.do
设置Work Home Dir为
`/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css`。
然后点击安全 -> 增加,然后上传webshell,这里上传一个jsp大马。
上传后,查看返回的数据包,其中有时间戳:
可以看到时间戳为1543145154632
访问:http://192.168.139.129:7001/ws_utc/css/config/keystore/1543145154632_lele.jsp
可以进行文件管理、文件上传、系统命令执行等。
尝试以下执行系统命令;
命令执行成功。
方案1:
使用Oracle官方通告中的补丁链接:
http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html
https://support.oracle.com/rs?type=doc&id=2394520.1
方案2:
1)进入Weblogic Server管理控制台;
2)domain设置中,启用”生产模式”。
由于WebLogic后台存在弱口令,可直接登陆后台上传包含后门的war包。
访问http://192.168.139.129:7001/console
使用弱口令登陆至后台;
点击锁定并编辑。
选择部署,进一步点击右边的安装
点击上传文件--进入文件上传界面,选择要上传的war包;
进入下一步,选择对应的war包进行部署,下一步下一步直至完成
点击激活更改;
启动上传的war包所生成的服务;
拿到webshell。
防火墙设置端口过滤,也可以设置只允许访问后台的IP列表,避免后台弱口令。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。