漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

admin 2024年1月31日20:28:54评论13 views字数 2015阅读6分43秒阅读模式

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

Atlassian Confluence是一款企业级协作和文档管理软件,由澳大利亚公司Atlassian开发和维护。它提供了一个集成的平台,使团队能够协作创建、共享和管理项目文档、知识库、会议记录等内容。

2024年1月16日,Atlassian 官方披露了CVE-2023-22527 Atlassian Confluence模板注入代码执行漏洞。攻击者可在无需登录的情况下构造恶意请求导致远程代码执行。建议尽快修复漏洞。

▌漏洞复现

1. 靶场环境搭建

使用以下docker-compose.yaml文件搭建靶场环境。

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

启动容器后,访问http://your-ip,出现以下界面说明靶场成功。

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

2. 漏洞利用

使用BurpSuite发送以下数据包:

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

根据响应头可以看到,Confluence成功回显了/etc/passwd文件信息。

▌漏洞分析

通过接口地址我们找到了该漏洞使用的模版 

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

首先,需要说明的是这里使用的是Velocity模版引擎,Velocity 主要用于将模板与数据合并,生成文本输出。在 Web 开发中,Velocity 常用于生成动态网页、电子邮件模板、文档等。它支持在模板中嵌入变量、条件语句、循环结构等,使得模板能够根据给定的数据动态地生成内容。

在以上代码的首行中使用了$parameters.label去获取请求体中label参数的值,当我们传入label参数后,这行代码就变成了下面这样:

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

在这段代码中$stack.findValue的功能是通过变量名称去获取参数的值。

我们通过findValue调试来理解漏洞利用的过程,我们通过调试找到了该方法的位置:

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

该方法执行时会进入下方findValue(String expr, boolean throwExceptionOnFailure)方法,并将传入的label参数交由this.tryFindValueWhenExpressionIsNotNull方法处理。

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

tryFindValueWhenExpressionIsNotNull把参数交给tryFindValue处理。

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

在tryFindValue中,调用getValueUsingOgnl进行处理。

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

在getValueUsingOgnl中可以看到程序将payload直接传入到了this.ognlUtil.getValue方法中,该方法会将传入的参数进行unicode解码并执行。

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

一步步跟进后,最终执行payload的方法为compileAndExecute(),在下面断点调试中可发现,this.expressions.get()方法在解析payload时会将内部的unicode编码u0027及单引号等进行处理,使aaa前面的引号与u0027解码后的引号闭合,所以能够顺利执行后面注入的代码,导致攻击成功。

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

▌塞讯验证规则

针对该漏洞的攻击模拟已经加入到塞讯安全度量验证平台中,您可以在塞讯安全度量验证平台中搜索关键词“CVE-2023-22527”“Atlassian Confluence”获取相关攻击模拟验证动作,从而验证您的安全防御体系是否能够有效应对该漏洞,平台以业界独有方式确保您的验证过程安全无害。

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

参考来源:

https://jira.atlassian.com/browse/CONFSERVER-93833
https://blog.projectdiscovery.io/atlassian-confluence-ssti-remote-code-execution/
https://confluence.atlassian.com/pages/viewpage.action?pageId=1333335615
塞讯验证提供真实勒索软件攻击样本,如需了解更多信息,欢迎拨打官方电话400-860-6366或发送邮件至[email protected]联系我们。您也可以扫描下方二维码添加官方客服,我们将竭诚为您服务。

用持续验证   建长久安全

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

长按图片扫码添加【官方客服】

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)
漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)
漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

塞讯验证是国内网络安全度量验证平台开创者,率先提出利用真实自动化APT攻击场景来持续验证安全防御有效性概念, 旨在用安全验证技术来帮助客户实现365天持续评估自身安全防御体系效果,已在金融、高科技、关键信息基础设施等重点行业多家标杆客户中获得商业化落地验证。

核心团队均来自于全球知名网络安全公司和APT研究机构,拥有业界突出的安全研究与APT组织追踪能力。两大研发团队分别位于上海和杭州,致力于为客户打造最优秀的安全验证产品。我们在北京、上海、深圳、杭州均设有分支机构,服务可覆盖全国各个角落。

关注【塞讯安全验证】,了解塞讯安全度量验证平台以及更多安全资讯

关注【塞讯业务观测验证】,了解最前沿的业务观测与IT运营相关技术、观点及趋势

原文始发于微信公众号(塞讯安全验证):漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月31日20:28:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞分析 | Atlassian Confluence模板注入代码执行漏洞(CVE-2023-22527)http://cn-sec.com/archives/2450631.html

发表评论

匿名网友 填写信息