前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第80篇:Weblogic上传漏洞在不知绝对路径情况下拿shell方法

第80篇:Weblogic上传漏洞在不知绝对路径情况下拿shell方法

作者头像
ABC_123
发布2023-11-22 14:33:19
4310
发布2023-11-22 14:33:19
举报
文章被收录于专栏:网络安全abc123网络安全abc123

Part1 前言

大家好,我是ABC_123。Weblogic曾经爆出一个上传漏洞,漏洞编号是CVE-2018-2894,这个漏洞利用起来稍微有点麻烦,很多朋友由于不知道绝对路径而没法上传shell,从而放弃对其的进一步利用,ABC_123曾经搭环境尝试了各种方法去解决这个问题,接下来给出自己的研究成果。

建议大家把公众号“希潭实验室”设为星标,否则可能就看不到啦!因为公众号现在只对常读和星标的公众号才能展示大图推送。操作方法:点击右上角的【...】,然后点击【设为星标】即可。

Part2 技术研究过程

  • 上传漏洞利用步骤及分析

首先复习一下weblogic上传漏洞利用过程,一般情况下,存在上传漏洞的页面是/ws_utc/config.do,在“Work Home Dir”处会自带一个绝对路径,一般是/u01/oracle/user_projects/domains/base_domain/tmp/WSTestPageWorkDir,然后可以结合上述路径更改为如下路径,接着上传jsp文件获取一个webshell。

/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

上传成功之后,根据返回的网页源码,将jsp的webshell的时间戳与相对路径结合,就可以得到webshell的完整URL地址了。

但是我们经常遇到的情况是“当前的工作目录”是空的,或者是被其它攻击者给随意更改成错误的路径,导致不知道绝对路径导致上传webshell失败,那如何解决这个问题呢?

首先我们做一下尝试,将绝对路径更改为以servers/开头的相对路径,发现也是可以上传成功的。通过试验我们发现,此处仅需要知道servers/开头的相对路径即可,这在一定程度上,降低了getshell的难度。

servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css。

这里需要注意的是,上述路径中/AdminServer/在不同的weblogic安装环境中可能不一样的,它可能是/Server-0/或者/app_server1/,它可能是管理服务器名称,也可能是被管服务器(MS)名称。

路径中的/4mcj4y/值也不是固定的,它是由/AdminServer/结合另一个变量计算出来的,所以我们只需要知道/AdminServer/处的值就好办了。如下图所示,github上有很多通过当前weblogic服务器名称计算出该值的脚本程序。

  • IIOP协议获取相对路径

经过研究发现,如果目标weblogic端口的iiop协议开放的话,直接向iiop协议端口7001或者其它端口发送一个数据包,在返回数据包中就会有获取相对路径最关键的服务器实例名称(此处是AdminServer)。

知道了AdminServer这个值,就可以使用脚本计算出完整的相对路径了,就可以上传webshell了。

  • 通过报错泄露路径

通过报错的方法,也可以不断获取完整的绝对路径,这种方法有时候能成功,有时候不能成功,我也没深入研究为什么。这个方法实测效果不太好,但是有时候可以作为探测目标绝度路径是否存在的一种方法。在“Work Home Dir”处填入“servers”,然后点击提交,会弹出一个报错页面,其中就会泄露一部分绝对路径。

  • XXE漏洞获取weblogic的绝对路径

经过仔细观察发现,此上传漏洞的编号是CVE-2018-2894,在CVE-2018-2894编号附近,有一个XXE漏洞CVE-2018-3246,因为两个漏洞编号相近,所以两个漏洞理论上会同时存在。因此如果目标环境出网的情况下,我们通过这个XXE漏洞获取到weblogic的路径,然后再利用上传漏洞获取webshell。

Part3 总结

本文中ABC_123给出了3种方法,各有优缺点,实战中结合起来用,基本上可以搞定这个上传漏洞的利用。

方法1:报错获取绝对路径,缺点是不一定每次都能报错,而且有时候报错出来的路径不全。

方法2:IIOP协议可以获取AdminServer,但是目标weblogic端口必须没有屏蔽IIOP协议。

方法3:XXE漏洞获取绝对路径,但是目标weblogic必须得能够出网。

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 希潭实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Part1 前言
  • Part2 技术研究过程
  • Part3 总结
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档