調整重心 從IIS到SQL Server數據庫安全 SQL Server數據庫
關鍵字:IIS到SQL Server數據庫安全從Codered到Nimda等,一大堆蠕蟲把原來需要人工利用的漏洞都變成了程序自動利用了,大家還想去手工操作這些IIS漏洞么?讓我們調整重心,去看看服務器常用的數據庫吧。
一般網站都是基于數據庫的,特別是ASP、PHP、JSP這樣的用數據庫來動態顯示的網站。很多網站可能多注意的是操作系統的漏洞,但是對數據庫和這些腳本的安全總是忽略,也沒有太多注意。
該文章對從SQL腳本問題說得非常詳細。對于腳本安全的解決,也可以通過過濾來實現,可以參考我以前寫的。對于ASP來說,可以使用下面這個過濾函數:
Function Filter_SQL(strData)
Dim strFilter
Dim blnFlag
Dim i
strFilter="’,;,//,--,@,_,exec,declare"
’需要過濾的字符,可以自己添加,","是分隔符
blnFlag=Flase’過濾標志,如果產生過濾,那么就是真
Dim arrayFilter
arrayFilter=Split(strFilter,",")
For i=0 To UBound(arrayFilter)
If Instr(strData,arrayFilter(i))>0 Then
blnFlag=True
Exit For
End If
Next
If blnFlag Then
Response.Redirect "wrong.asp"
’當發現有過濾操作時,導向一個預定頁面。
反正正常訪問用不到的連接請求,總不是好事情。
Else
Filter_SQL=strData
End If
End Function
對于SQL Server數據庫來說,安全問題不僅僅局限在腳本上了。微軟的系統性很強,整個基于Windows系統的應用都有很強的關聯性,對SQL Server來說,基本可以把數據庫管理和系統管理等同起來了。SQL Server默認的管理員賬號“sa”的密碼是空的,這給多數NT服務器產生一個安全漏洞?!癝QLRCMD”,就能夠利用獲得的數據庫管理員賬號執行系統命令。
在SQL Server中有很多系統存儲過程,有些是數據庫內部使用的,還有一些就是通過執行存儲過程來調用系統命令。
系統存儲過程:xp_cmdshell。
就是以操作系統命令行解釋器的方式執行給定的命令字符串。它就具體語法是:
原文轉自:http://www.anti-gravitydesign.com