網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來(lái)的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機(jī)整體,實(shí)現(xiàn)資源的全面共享和有機(jī)協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計(jì)算機(jī)、存儲(chǔ)資源、數(shù)據(jù)資源、信息資源、知識(shí)資源、專家資源、大型數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 從codered到nimda等,一大堆蠕蟲(chóng)把原來(lái)需要人工利用的漏洞都變成了程序自動(dòng)利用了,大家還想去手工操作這些IIS漏洞么?讓我們調(diào)整重心,去看看服務(wù)器常用的數(shù)據(jù)庫(kù)吧。 一般網(wǎng)站都是基于數(shù)據(jù)庫(kù)的,特別是ASP、PHP、JSP這樣的用數(shù)據(jù)庫(kù)來(lái)動(dòng)態(tài)顯示的網(wǎng)站。很多網(wǎng)站可能多注意的是操作系統(tǒng)的漏洞,但是對(duì)數(shù)據(jù)庫(kù)和這些腳本的安全總是忽略,也沒(méi)有太多注意。 從最比較普遍的腳本問(wèn)題開(kāi)始,這些都是老話題了,大家可以參考Hectic寫(xiě)的《關(guān)于數(shù)據(jù)庫(kù)的簡(jiǎn)單入侵和無(wú)賴破壞,以天融信做例子》,該文章對(duì)從SQL腳本問(wèn)題說(shuō)得非常詳細(xì)。對(duì)于腳本安全的解決,也可以通過(guò)過(guò)濾來(lái)實(shí)現(xiàn),可以參考我以前寫(xiě)的。對(duì)于ASP來(lái)說(shuō),可以使用下面這個(gè)過(guò)濾函數(shù): Function Filter_SQL(strData) blnFlag=Flase ’過(guò)濾標(biāo)志,如果產(chǎn)生過(guò)濾,那么就是真 在SQL Server中有很多系統(tǒng)存儲(chǔ)過(guò)程,有些是數(shù)據(jù)庫(kù)內(nèi)部使用的,還有一些就是通過(guò)執(zhí)行存儲(chǔ)過(guò)程來(lái)調(diào)用系統(tǒng)命令。 |
執(zhí)行權(quán)限的用戶在 SQL Server 服務(wù)的用戶帳戶中運(yùn)行命令。可以通過(guò)配置選項(xiàng)配置 SQL Server,以便對(duì) SQL Server 無(wú) sa 訪問(wèn)權(quán)限的用戶能夠在SQLExecutiveCmdExec Windows NT 帳戶中運(yùn)行 xp_cmdshell。在 SQL Server 7.0 中,該帳戶稱為 SQLAgentCmdExec。現(xiàn)在對(duì)于SQL Server2000,只要有一個(gè)能執(zhí)行該存儲(chǔ)過(guò)程的帳號(hào)就可以直接運(yùn)行命令了。 對(duì)于 NT 和 WIN2000,當(dāng)用戶不是 sysadmin 組的成員時(shí),xp_cmdshell 將模擬使用 xp_sqlagent_proxy_account 指定的 SQL Server 代理程序的代理帳戶。如果代理帳戶不能用,則 xp_cmdshell 將失敗。所以即使有一個(gè)帳戶是master數(shù)據(jù)庫(kù)的db_owner,也不能執(zhí)行這個(gè)存儲(chǔ)過(guò)程。 如果我們有一個(gè)能執(zhí)行xp_cmdshell的數(shù)據(jù)庫(kù)帳號(hào),比如是空口令的sa帳號(hào)。那么我們可以執(zhí)行這樣的命令: exec xp_cmdshell ’net user refdom 123456 /add’ exec xp_cmdshell ’net localgroup administrators refdom /add’ 上面兩次調(diào)用就在系統(tǒng)的管理員組中添加了一個(gè)用戶:refdom 當(dāng)我們獲得數(shù)據(jù)庫(kù)的sa管理員帳號(hào)后,就應(yīng)該可以完全控制這個(gè)機(jī)器了。可見(jiàn)數(shù)據(jù)庫(kù)安全的重要性。 下面這些存儲(chǔ)過(guò)程都是對(duì)Public可以執(zhí)行的: xp_fileexist,用來(lái)確定一個(gè)文件是否存在。 xp_getfiledetails,可以獲得文件詳細(xì)資料。 xp_dirtree,可以展開(kāi)你需要了解的目錄,獲得所有目錄深度。 Xp_getnetname,可以獲得服務(wù)器名稱。 還有可以操作注冊(cè)表的存儲(chǔ)過(guò)程,這些不是對(duì)Public可以執(zhí)行的,需要系統(tǒng)管理員或者授權(quán)執(zhí)行: Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues Xp_regread (對(duì)Public可以執(zhí)行) Xp_regremovemultistring Xp_regwrite SQL Server的安全配置 接著對(duì)擴(kuò)展存儲(chǔ)過(guò)程開(kāi)始大屠殺,首先就是xp_cmdshell,還有就是上面那些一大堆存儲(chǔ)過(guò)程,都drop吧,一般也用不著。 下面是一些關(guān)于數(shù)據(jù)庫(kù)的問(wèn)答和技巧: xp_regread |
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!