第111篇:Weblogic 8.x早期版本后台部署war包获取shell方法与坑点总结
2024-12-29 12:4:0 Author: mp.weixin.qq.com(查看原文) 阅读量:7 收藏

 Part1 前言 

大家好,我是ABC_123。过去几年,在内网中多次遇到weblogic 8.x,与10.x及后续版本相比,早期版本的weblogic后台获取shell的过程会比较复杂。首先,webshell的编写需要兼容JDK 1.4,这就排除了大多数现代的webshell。另外,IE浏览器也需要进行一系列配置,否则许多weblogic后台功能无法正常使用。今天ABC_123重新搭建了环境进行测试,并将复现过程记录下来,与大家分享,以备后续参考。

注:以下文章中对于IE6.0的配置,同样适用于内网环境中所见的很多老旧系统。

 Part2 技术研究过程 

  • 配置IE6.0访问weblogic8.x后台

首先需要设置一下IE浏览器,建议选择IE6.0,安全级别调整为低,并将ActiveX控件和插件设置下的各种单选项都设置为“启用”,最后点击“重置”按钮。

在“受信任的站点”下,填写weblogic的url地址,添加至“可信站点”。

输入账号密码weblogic:weblogic123进行登录。

登录后,weblogic后台的左侧一列会显示错误,并且提示“您的Java版本已过期”。

点击“稍后”按钮之后,会出现如下提示:

打开“控制面板”的Java功能选项,点开java控制面板。

在“安全”选项卡下,点击“编辑站点列表”,在“例外站点”列表下,添加weblogic的url http://192.168.237.235:5150/,然后一路点击“确认”按钮。

然后刷新当期页面,重新点击一下左侧报错的页面,会弹出一个“安全警告”,点击“运行”。

随后,weblogic的后台页面终于可以正常显示了。

  • 制作war包(兼容weblogic8.及jdk1.4)

Weblogic8.x后台所用的war包是有校验的,不符合要求的会直接报错,随便将webshell文件打一个压缩包,改扩展名为.war是不可行的。如下图所示,weblogic8.x是在jdk1.4下运行的,现在所用的大多数jsp文件都会直接提示错误,因为其代码所使用的一些类和方法并不支持jdk1.4。

如下所示,提示缺少WEB-INF/web.xml文件。经过一系列测试,发现web.xml文件也需要专门制作,随便写一些内容是不行的。

经过测试,如下的写法是简单的而且可以通用于weblogic8.x、weblogic9.x版本。

最终制作好的war包内容如下,在war包文件中,我加入了一大堆的jsp shell,便于我们挨个测试哪些webshell可以兼容weblogic8.x。

  • 后台部署war包

登录后台之后,点击“部署”选项下的“Web应用程序模块”,点击“部署新的Web应用程序模块”。

继续点击“上传文件”。

点击“浏览”,选择制作好的包含jsp版webshell的war包,点击“上传”。

然后继续选择war包文件,点击“目标模块”。

继续点击“部署”按钮。

如下所示,提示“成功”,说明war包部署成功。

继续点击“测试”标签页,提供了webshell的访问地址。

在上述URL地址上,拼接JSP版webshell的文件名,即可获取webshell。经过一系列措施,发现如下几个webshell是可用的,冰蝎、哥斯拉、蚁剑、菜刀等等通通不兼容。

如下图所示,此webshell是2004年老外写的,适用于jdk1.3,已经是20年前的了。

 Part3 总结 

1.  后续会继续分享weblogic中间件的其它利用技巧,敬请期待。

公众号专注于网络安全技术分享,包括APT事件分析、红队攻防、蓝队分析、渗透测试、代码审计等,每周一篇,99%原创,敬请关注。

Contact me: 0day123abc#gmail.com

(replace # with @)



文章来源: https://mp.weixin.qq.com/s?__biz=MzkzMjI1NjI3Ng==&mid=2247487281&idx=1&sn=199e1ba750cd7b4364b7b30e07eda2da&chksm=c25fc04af528495cbad89a83cbc1dff6291f3b50a8241e594dd8ecfee261a08ceff7cdbe6f7c&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh