[CVE-2018-2894] WebLogic文件上传漏洞

220 篇文章 7 订阅
213 篇文章 3 订阅

CVE-2018-2894:
/ws_utc 这个路径的文件上传漏洞

页面接口:/ws_utc/config.do
上传点接口:/ws_utc/resources/ws/config/import

本poc以前者为例,进行poc和利用。上传成功之后会响应500,抛出NullPointerException,但是利用已经成功。

关于weblogic各版本的可利用情况:

  • 10.3.6版本上未发现该功能,需手动开启:
    登录控制台-》配置-》高级-》勾选启用Web服务测试页 -》保存
  • 12.1.3.0默认开启,且未授权可以访问
  • 12.2.1.3默认开启,且未授权可以访问(/ws_utc/resources/setting/keystore)

后来发现12.2.1.3版本利用最稳定,而12.1.3.0总是不成功。
在这里插入图片描述
在这里插入图片描述

整个流程:
在这里插入图片描述

参考:https://blog.riskivy.com/weblogic-cve-2018-2894/
在这里插入图片描述

poc

正常的路径上传之后是:
“C:/Oracle/Middleware12.1.3.0/user_projects/domains/base_domain/tmp/WSTestPageWorkDir/upload/RS_Upload_2021-03-29_11-44-55_670/wlserver/server/lib/consoleapp/webapp/framework/skins/wlsconsole/images/_111.txt”
路径穿越(…/…/…/…/…/…/…/wlserver/server/lib/consoleapp/webapp/framework/skins/wlsconsole/images/)之后:

参考:https://stackoverflow.com/questions/1347791/unicode-error-unicodeescape-codec-cant-decode-bytes-cannot-open-text-file

最终将路径穿越的payload设置为7个…/

tested on:

  • weblogic 12.1.3.0.0, jdk_1.7.0_80
  • weblogic 12.1.3.0.0, jdk_1.8.0_201
  • weblogic 12.2.1.3.0, jdk_1.8.0

exp

如果不更改,shell会上传到

/u01/oracle/user_projects/domains/base_domain/tmp/WSTestPageWorkDir/config/keystore/ 目录下面,访问会是404,还要登陆后wls_utc才能访问(http://47.52.239.99:7001/ws_utc/login.do)

所以,为了避免诸多限制,需更改路径为
(以linux或者docker为例)
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
Windows可以为:C:/Oracle\Middleware12.2.1.3/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

静态文件css目录,访问这个目录是无需权限的。

pocsuite插件编写

poc

通过路径穿越,将任意文本文件上传到这个路径:

/wlserver/server/lib/consoleapp/webapp/framework/skins/wlsconsole/images/

然后通过web访问

/console/framework/skins/wlsconsole/images/_

这个路径,即可作为poc,证明文件上传即可。

exp

将webshell上传到这个路径:

user_projects/domains/base_domain/tmp/WSTestPageWorkDir/config/keystore/ 目录下面,访问会是404

然后修改配置,将其改为:

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

然后通过web访问

/ws_utc/css/config/keystore/

目录即可拿到webshell。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值