目录
- 概述
- 复现过程
- 修复建议
概述
Adobe ColdFusion(直译:冷聚变),是一个动态Web服务器,其CFML(ColdFusion Markup Language)是一种程序设计语言,类似JSP里的JSTL(JSP Standard Tag Lib),从1995年开始开发,其设计思想被一些人认为非常先进,被一些语言所借鉴。
Adobe ColdFusion中存在java反序列化漏洞。攻击者可利用该漏洞在受影响应用程序的上下文中执行任意代码或造成拒绝服务。以下版本受到影响:Adobe ColdFusion (2016 release) Update 3及之前的版本,ColdFusion 11 Update 11及之前的版本,ColdFusion 10 Update 22及之前的版本。
复现过程
访问漏洞链接:http://192.168.3.243:8500/
访问url后发现为404,直接使用nikto工具进行敏感路径探测
直接访问登录后的页面:http://192.168.3.243:8500/CFIDE/administrator/index.cfm
先进行安装,使用vulhub搭建默认密码为vulhub,稍等就可以安装成功
之后访问页面如下
点击退出登录
下载ColdFusionPwn
链接:https://github.com/codewhitesec/ColdFusionPwn/releases/download/0.0.1/ColdFusionPwn-0.0.1-SNAPSHOT-all.jar
下载ysoserial
链接: https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar
使用命令生成poc,由于在靶场简介上写着网站的绝对路径跟key文件的路径所以这里我们可以使用cp命令来将根目录下的key文件复制到wwwroot目录下的key.txt文件里面
'cp /KEY.txt /opt/coldfusion11/cfusion/wwwroot/key.txt’里可替换为其他可执行命令并生成poc如反弹shell命令,但此靶场并不能弹shell,但通过自己搭建的靶场可以看出需要反弹shell的话需要bash加密。
java -cp ColdFusionPwn-0.0.1-SNAPSHOT-all.jar:ysoserial-master-SNAPSHOT.jar com.codewhitesec.coldfusionpwn.ColdFusionPwner -e CommonsBeanutils1 'cp /KEY.txt /opt/coldfusion11/cfusion/wwwroot/key.txt' poc.ser
我这边java版本太高了,运行报错,无所谓了
漏洞在位置为/flex2gateway/amf,使用POST请求方式,导入poc文件时不要用复制粘贴,用burp进行导入,要记得将Content-Type修改application/x-amf,如下:
粘贴poc时候注意不要直接复制粘贴,容易因为编码问题导致利用不成功
粘贴之后点击发送
修复建议
根据官方提示升级到最新版本