下班后,閑著沒事,就到朋友的網(wǎng)站看了看。網(wǎng)站是經(jīng)動易4.0修改美化的,幾乎都是靜態(tài)的htm文件。仔細(xì)看了看,網(wǎng)站比前幾天多了個“博客中心”,點(diǎn)擊進(jìn)去后,頁面挺美的。版權(quán)顯示的是powered by OBlog ver2.22。先不管它,打開一個鏈接http://***/blog/index.asp?classid=3,習(xí)慣性的在后面加了個單引號,頁面顯示:
code:Microsoft VBScript 運(yùn)行時錯誤 錯誤 '800a000d'
類型不匹配: 'clng'
/blog/index.asp,行11
看來SOL INJECTION是沒擇了。接著將http://***/blog/index.asp?classid=3換為http://***/blog%5cindex.asp?classid=3。哈哈,差點(diǎn)讓偶暈倒,頁面顯示:
code:Microsoft JET Database Engine 錯誤 '80004005' 'D:\jh\web\guhuo\data\#mwfblog.asa'不是一個有效的路徑。 確定路徑名稱拼寫是否正確,以及是否連接到文件存放的服務(wù)器。 /blog/conn.asp,行14
居然把數(shù)據(jù)庫給暴出來了。晚上宵夜有著落了(偷笑中……)。趕緊打開flashget,將它的數(shù)據(jù)庫下載下來。仔細(xì)分析了一下Blog的頁面和數(shù)據(jù)庫。數(shù)據(jù)庫中的管理員帳號和一般用戶的密碼都是經(jīng)過MD5加密過的,只能爆破,麻煩。
發(fā)現(xiàn)Blog頁面中有個用戶“忘記密碼”的鏈接,于是想是否能通過此功能修改管理員或用戶的密碼(后來發(fā)現(xiàn)通過此功能只能修改用戶的密碼)。打開后,隨便填上數(shù)據(jù)庫中的一個用戶名“shmily”和密碼修改提示答案“琴兒”,成功修改掉此用戶的密碼,如圖1:
接著便是用此帳號登陸。成功登陸后,在用戶管理里,發(fā)現(xiàn)有上傳文件功能,可惜只允許上傳jpg,gif,png等格式的文件(呵呵 ,可以給朋友上傳些垃圾文件---賊笑中……)。不過此“忘記密碼”功能的危害也很大,能對Blog中所有用戶的密碼進(jìn)行更改,從而更改或破壞所有用戶的數(shù)據(jù)。
想得到朋友網(wǎng)站的webshell,看來還真有點(diǎn)難。可是想著晚上的夜宵,沒辦法,只能暴破管理員的密碼了,希望能通過后臺管理來更改上傳文件的類型。
很幸運(yùn),不到半小時就把管理員的MD5密碼給破解出來了。看來朋友晚上不請偶吃夜宵都不行了。很容易就猜到了后臺頁面admin_login.asp,登陸后,找到修改上傳文件類型的地方,添加asp類型文件,直接上傳asp木馬獲得webshell。如圖2:
接下來的事情差點(diǎn)讓偶吐血,沒想到修改上傳文件類型后無論如何都不能上傳asp文件,還是只允許上傳jpg,gif,png等文件。
狂暈,苦惱中,想偷懶都不行。沒辦法,只能到官方網(wǎng)站_blank>www.oioj.net下載源程序來分析下。
在上傳文件upload.asp中找到這樣一句代碼:
code:sAllowExt = Replace(UCase(sAllowExt), "ASP", "")
暈死了,怪不得通過后臺修改上傳文件類型來上傳asp文件不行呢,原來都被這句代碼給封殺了。
智者千慮,必有一失。程序雖然禁止了asp 文件的上傳,卻忘了禁止cer等文件。立刻在后臺添加cer上傳文件類型,再次用shmily的帳號登陸,上傳一個cer木馬。如圖3:
得到了webshell,如何進(jìn)一步拿下服務(wù)器就是讀者朋友們各顯身手的事情了。
后記: 本文沒有什么新的技術(shù)可言,發(fā)現(xiàn)此漏洞也純屬偶然。請不要用于非法用途。事后筆者通過google搜索powered by OBlog,發(fā)現(xiàn)90%的站點(diǎn)都能暴庫。更讓筆者驚訝的時,居然官方的網(wǎng)站也能暴庫。如圖5:
筆者建議,在官方?jīng)]出補(bǔ)丁前,增強(qiáng)數(shù)據(jù)庫的安全性,以防下載。在upload.asp文件中將cer等文件也過濾掉。