提到sa弱口令,我們首先就會想到,許多數(shù)據(jù)庫都有1個類似的超級管理員賬號,比如:Oracle是"system"和"sys",Sybase也是"sa",MySQL里有"root"(不是UNIX系統(tǒng)賬號的那個root)。如果沒有設(shè)置相對應(yīng)的密碼或者你設(shè)的密碼強度太低過于簡單,那么入侵者就能直接登陸并攻擊數(shù)據(jù)庫服務(wù)器,他們甚至可以獲得你操作系統(tǒng)的最高級別的權(quán)限。
說到這里,有的人也許不相信,曾經(jīng)有人和我說:"數(shù)據(jù)庫被攻破最多你的那些表啊什么的被人家拿走,對方怎么可能獲得操作系統(tǒng)最高權(quán)限呢?"其實,我并不是在危言聳聽,下面我就假設(shè)某臺SQL Server 2000的數(shù)據(jù)庫的SA密碼被破解為例,來看看黑客在取得了數(shù)據(jù)庫權(quán)限后如何進一步把自己變成系統(tǒng)的管理員。
目前,網(wǎng)絡(luò)上有不少此類工具,可以方便那些不熟悉SQL的人用,其實完全不用去下載那種工具,只要用微軟自己的SQL Server里自帶客戶端程序連上去就馬上可以輕松的把自己變成整個操作系統(tǒng)的超級管理員了。具體的過程,我就為大家講解1遍,這里先假設(shè)黑客已經(jīng)通過其他工具暴力破解了你設(shè)置的強度教低的sa帳號的弱口令,或者你根本就沒有為sa賬號設(shè)置口令。首先黑客打開SQL Server查詢分析器,以sa身份和他剛暴力破解的密碼登陸進你的SQL Server數(shù)據(jù)庫,然后他執(zhí)行以下語句:
xp_cmdshell "net user zxc nopassword /add" go xp_cmdshell "net
localgroup /add administrators zxc" go
這時候,你如果打開你的計算機管理-----本地用戶和組-----用戶,這時候你會發(fā)現(xiàn)里面已經(jīng)多出了1個叫zxc的新賬號,查看一下此帳號的屬性,你更會發(fā)現(xiàn)他竟然隸屬于administrators組。
說到這里大家肯定都明白了,對,黑客通過調(diào)用SQL Server的系統(tǒng)數(shù)據(jù)庫master里的xp_cmdshell這個擴展存儲過程輕松的將他自己變成了你服務(wù)器上的超級管理員,那么以后他還有什么事情會干不了呢。
因此,如果大家在平時不需要調(diào)用此存儲過程的話,可以考慮將它刪除,當然不管你平時是不是要調(diào)用此存儲過程,你都應(yīng)該為你的sa賬號設(shè)置一個十分健壯的密碼,這是最根本、最重要的,你可以打開SQL Server的企業(yè)管理器,然后選擇安全性-----登陸,右擊sa賬號,選擇屬性,然后在屬性對話框里修改您的sa帳號所對應(yīng)的密碼,這里我建議你要盡可能的設(shè)置的復雜些,可以用英文字母結(jié)合數(shù)字結(jié)合特殊符號等,這樣就可以防止黑客對此帳號的暴力破解,當然最好是在安裝您的SQL Server的時候就已經(jīng)完成此項工作,以免日后因人為遺忘等原因帶來安全隱患。
更多信息請查看IT技術(shù)專欄