官方公众号企业安全新浪微博
FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。
FreeBuf+小程序
漏洞描述
最近 Confluence 官方通报了一个严重漏洞 CVE-2022-26134,远程攻击者在未经身份验证的情况下,可构造OGNL表达式进行注入,实现在Confluence Server或Data Center上执行任意代码。
利用范围
Confluence Server and Data Center >= 1.3.0
Confluence Server and Data Center < 7.4.17
Confluence Server and Data Center < 7.13.7
Confluence Server and Data Center < 7.14.3
Confluence Server and Data Center < 7.15.2
Confluence Server and Data Center < 7.16.4
Confluence Server and Data Center < 7.17.4
Confluence Server and Data Center < 7.18.1
环境搭建
使用docker-compose文件进行漏洞环境搭建。
version: '2' services: web: image: vulhub/confluence:7.13.6 ports: - "8090:8090" - "5050:5050" depends_on: - db db: image: postgres:12.8-alpine environment: - POSTGRES_PASSWORD=postgres - POSTGRES_DB=confluence
使用命令docker-compose up -d成功启动环境后,查看容器id等相关信息(5050为远程调试端口)。
进入容器后将/opt/atlassian目录下的confluence源码使用docker cp命令复制到本地。
使用IDEA将/confluence/WEB-INF下的atlassian-bundled-plugins、atlassian-bundled-plugins-setup、lib文件拉取为依赖文件。
IDEA中配置远程调试。
在容器中/opt/atlassian/confluence/bin目录下修改setenv.sh文件,加入远程调试配置。
访问http://IP:8090,进行相关配置(需要登录confluence官网进行证书申请)。
漏洞分析环境成功搭建。
漏洞复现
成功命令执行
漏洞分析
以登录请求为例,对confluence请求处理流程进行调试分析。
首先访问/login.action,经过一系列Filter处理后,将进入Servlet 的分发器 ServletDispatcher。
com.opensymphony.webwork.dispatcher.ServletDispatcher