keystore文件_Weblogic任意文件上传漏洞
该漏洞因为是需要开启web服务测试页面,所以利用面有限
影响版本
10.3.6.0
12.1.3.0
12.2.1.2
12.2.1.3
开启环境
启动docker里的weblogic环境
cd vulhub/weblogic/CVE-2018-2894/
docker-compose up -d
访问weblogic服务
http://192.168.8.130:7001/console/login/LoginForm.jsp
192.168.8.130是靶机地址
查看默认账号和密码
Docker-compose logs | grep password
配置后台设置
登录weblogic后台管理界面
用wireshakr抓包看到登录后台界面的请求包和响应包
进入base_domain的设置,点击高级选项,勾选启用web服务测试页
上传马
访问漏洞页面
http://192.168.8.130:7001/ws_utc/config.do
设置当前的工作目录为:
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
上传webshell,这里webshell要用jsp文件,不能用war包。
我用的是冰蝎的jsp马
抓包查看webshell上传的请求包和响应包
上传webshell的包:
响应包,红框里是根据时间戳随即生成的文件名,这个就是webshell在服务器里的名字:
在服务器上看到webshell已经上传成功
尝试在浏览器访问webshell的URL,
http://192.168.8.130:7001/ws_utc/css/config/keystore/1615452746871_shell.jsp
发现返回500,不能访问,但是确实已经传上去了
已经可以getshell了
用冰蝎连接shell,执行ls命令
wires hark抓包可以看到连接webshell时冰蝎的特征流量
用冰蝎打开服务器文件路径时的流量
用Metasploit再次测试
使用msfvenom生成一个马test.jsp,因为使用jsp马,所以这里使用的payload是java/jsp_shell_reverse_tcp
用msfconsole监听4444端口
将这个test.jsp用之前的步骤传上去,然后访问test.jsp的URL
成功反弹shell
用wireshark抓包可以看到执行ls命令和返回的内容
结尾
因为只进行到getshell,而且是更改了目录设置,后续试试能不能用默认路径和操作