以前总是不喜欢自己搭环境验证漏洞,后面觉得总不好,大概少了可依赖的人,还是要自己慢慢一点点的学习。

1、验证环境

服务器:win server 2008 R2 64位
jdk版本:1.8.0_65
weblogic版本:12.1.3

2、安装weblogic

首先登陆oracle账号,下载weblogic,地址如下:
https://www.oracle.com/technetwork/cn/middleware/ias/downloads/wls-main-091116-zhs.html
我下载的是fmw_12.1.3.0.0_wls.jar,本来想下载10.6.3,找不到64位的,就下载了12.1.3的通用,看有资料说weblogic不分64位和32位,通用的就行。

从windows安装weblogic到复现CNVD-C-2019-48814


因为下载的是jar文件,以管理员身份运行cmd,输入java –jar 目录+jar进行安装,这里遇到一个问题,运行结果显示“失效的JdK”,后经查阅资料
解决办法如下:
检查java是否安装成功,发现输入java没问题,输入javac有问题,重新加环境变量,然后javac没问题,发现还是出现jdk失效的问题,最后将fmw_12.1.3.0.0_wls.jar文件复制到%JAVA_HOME%\bin目录下,然后执行成功,如图:

从windows安装weblogic到复现CNVD-C-2019-48814


出现图形界面后就选择下一步直到安装完成。如图:

从windows安装weblogic到复现CNVD-C-2019-48814


然后开始配置weblogic,如图:

从windows安装weblogic到复现CNVD-C-2019-48814


勾选全部项,下一步

从windows安装weblogic到复现CNVD-C-2019-48814


从windows安装weblogic到复现CNVD-C-2019-48814


配置用户名密码

从windows安装weblogic到复现CNVD-C-2019-48814


然后均不需要更改,一直下一步,最后点击创建。找到图中目录,运行cmd文件,启动weblogic服务

从windows安装weblogic到复现CNVD-C-2019-48814


运行成功

从windows安装weblogic到复现CNVD-C-2019-48814


浏览器访问:
jsp">:7001/console/login/LoginForm.jsp
出现如下错误,继续刷新,或者换个浏览器就行。
“Deploying application for /console/login/LoginForm.jsp...”
利用之前设置的用户名密码登陆之后如图:默认用户名密码是weblogic/weblogic123

从windows安装weblogic到复现CNVD-C-2019-48814


如此weblogic算是在windows部署好了,现在开始进行cnvd-c-2019-48814漏洞的复现。

3、漏洞复现

访问:/_async/AsyncResponseService,存在以下页面,就有可能存在漏洞。

从windows安装weblogic到复现CNVD-C-2019-48814


最开始用的ie,发现ie抓不到127.0.0.1:7001的数据包,换成谷歌就可以了。
然后利用网上的poc进行测试,但是不如人意,出现如下错误

从windows安装weblogic到复现CNVD-C-2019-48814


查看报错信息,Null content type,发现数据包头部没有content-type参数,然后加上就能执行命令弹出计算器了。

从windows安装weblogic到复现CNVD-C-2019-48814


再次看了一下,最开始是抓包直接把get改成post,所以没有content-type参数。然后再次抓包利用burp右键更改method如图,数据包会自动添加两个字段,但是依然报错,content-type错误,所以得记得手动把content-type改成text/xml格式

从windows安装weblogic到复现CNVD-C-2019-48814

在写文章时看到一位博主的签名,觉得很有道理,动手一遍总会有收获。
“眼观千遍 → 耳听万遍 → 不如手动一遍√”