前言

漏洞名称为Weblogic任意文件上传漏洞,编号为CVE-2018-2894

WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。两个页面分别为/ws_utc/begin.do/ws_utc/config.do

Web 测试页面在“生产模式”下默认不开启,所以该漏洞有限制。利用该漏洞,可以上传任意jsp文件,继而获取服务器权限。

影响版本

WebLogic :10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3

漏洞复现

环境

这里我简单记录一下docker开环境的一些步骤,好久没用vulhub都忘了;

kali开启ssh服务,这里是因为我不怎么喜欢用kali的命令行,可以跳过

service ssh start

docker开启环境

docker-compose up -d

关闭环境

docker-compose down

复现过程

环境开启的可能稍微有一点慢。耐心等待一会;

环境开启后就能登录后台了,我这里就不用靶机了,直接本地进去吗,出现一个登录页面,并不知道名字和密码

docker-compose logs | grep password查看管理员密码,用户名为weblogic

登录进去后点击base_domain的配置,在”Advanced”中开启”启用Web服务测试页”选项,在最下方点击save保存。

访问访问http://192.168.157.128:7001/ws_utc/config.do,将当前的工作目录为更改为下面的目录,提交保存。设置为该目录的原因是:该ws_utc应用的静态文件css目录,访问这个目录是无需权限的,所以就算我们不登陆也可以进入这个目录下上传shell

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

点击左侧安全栏目,点击添加,然后上传冰蝎的jsp马,名字和密码可以随便写,不影响

上传过程要用bp抓包,找到查看返回的数据包获取时间戳,这里我上传的木马是冰蝎的,木马的路径为

http://your-ip:7001/ws_utc/css/config/keystore/[时间]_[文件名]

那么我这里的马链接为http://192.168.157.128:7001/ws_utc/css/config/keystore/1645851110286_shell.jsp尝试冰蝎连接

可以看到连接成功,cat /etc/passwd执行成功

遇到的问题

昨天在复现的过程中,遇到了上传的jsp马无法解析的问题,看了许多师傅的文章也没找到原因,昨天就没再去弄。今天上kali更新了一下软件,今天jsp马就可以解析了,我也不知道为啥,大家如果遇到我这种jsp马无法解析的情况,去更新一下软件和环境尝试一下,可能有用。

修复建议

  • 设置confid.dobegin.do两个页面登录授权后才可访问。
  • 更新产品版本,安装安全补丁。