資源描述:
《從iis到sql server數(shù)據(jù)庫--》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在學術論文-天天文庫。
1、從IIS到SQLServer數(shù)據(jù)庫>> 從codered到nimda等,一大堆蠕蟲把原來需要人工利用的漏洞都變成了程序自動利用了,大家還想去手工操作這些IIS漏洞么?讓我們調(diào)整重心,去看看服務器常用的數(shù)據(jù)庫吧。 一般網(wǎng)站都是基于數(shù)據(jù)庫的,特別是ASP、PHP、JSP這樣的用數(shù)據(jù)庫來動態(tài)顯示的網(wǎng)站。很多網(wǎng)站可能多注意的是操作系統(tǒng)的漏洞,但是對數(shù)據(jù)庫和這些腳本的安全總是忽略,也沒有太多注意?! 淖畋容^普遍的腳本問題開始,這些都是老話題了,大家可以參考Hectic寫的《關于數(shù)據(jù)庫的簡單入侵和無賴破壞,以天融信做例子》,該文章對從SQL腳本問題說得非常詳細。對于腳本安全的解決,也可以通過過濾來實
2、現(xiàn),可以參考我以前寫的。對于ASP來說,可以使用下面這個過濾函數(shù):FunctionFilter_SQL(strData)DimstrFilterDimblnFlagDimistrFilter=,;,//,--,,_,exec,declare需要過濾的字符,可以自己添加,,是分隔符blnFlag=Flase過濾標志,如果產(chǎn)生過濾,那么就是真DimarrayFilterarrayFilter=Split(strFilter,,)Fori=0ToUBound(arrayFilter)IfInstr(strData,arrayFilter(i))>0ThenblnFlag=TrueExitFor
3、EndIfNextIfblnFlagThenResponse.Redirectdshell就是以操作系統(tǒng)命令行解釋器的方式執(zhí)行給定的命令字符串。它就具體語法是:xp_cmdshell {mand_string}[,no_output] xp_cmdshell在默認情況下,只有sysadmin的成員才能執(zhí)行。但是,sysadmin也可以授予其他用戶這個執(zhí)行權限。在早期版本中,獲得xp_cmdshell執(zhí)行權限的用戶在SQLServer服務的用戶帳戶中運行命令??梢酝ㄟ^配置選項配置SQLServer,以便對SQLServer無sa訪問權限的用戶能夠在SQLExecutiveCmdExecdEx
4、ec?,F(xiàn)在對于SQLServer2000,只要有一個能執(zhí)行該存儲過程的帳號就可以直接運行命令了。 對于NT和in組的成員時,xp_cmdshell將模擬使用xp_sqlagent_proxy_account指定的SQLServer代理程序的代理帳戶。如果代理帳戶不能用,則xp_cmdshell將失敗。所以即使有一個帳戶是master數(shù)據(jù)庫的db_odshell的數(shù)據(jù)庫帳號,比如是空口令的sa帳號。那么我們可以執(zhí)行這樣的命令: execxp_cmdshelluserrefdom123456/add execxp_cmdshelllocalgroupadministratorsrefdom/
5、add 上面兩次調(diào)用就在系統(tǒng)的管理員組中添加了一個用戶:refdom 當我們獲得數(shù)據(jù)庫的sa管理員帳號后,就應該可以完全控制這個機器了??梢姅?shù)據(jù)庫安全的重要性。 下面這些存儲過程都是對Public可以執(zhí)行的: xp_fileexist,用來確定一個文件是否存在?! p_getfiledetails,可以獲得文件詳細資料?! p_dirtree,可以展開你需要了解的目錄,獲得所有目錄深度?! p_getname,可以獲得服務器名稱。 還有可以操作注冊表的存儲過程,這些不是對Public可以執(zhí)行的,需要系統(tǒng)管理員或者授權執(zhí)行: Xp_regaddmultistring Xp_r
6、egdeletekey Xp_regdeletevalue Xp_regenumvalues Xp_regread(對Public可以執(zhí)行) Xp_regremovemultistring Xp_regdshell,還有就是上面那些一大堆存儲過程,都drop吧,一般也用不著?! ?zhí)行: usemaster sp_dropextendedprocxp_cmdshell 去掉guest帳12下一頁>>>>這篇文章來自..,。號,阻止非授權用戶訪問。去掉不必要的網(wǎng)絡協(xié)議。 加強對數(shù)據(jù)庫登陸的日志記錄,最好記錄所有登陸事件??梢杂孟旅娴暮唵蜠OS命令來查看日志: findstr/C
7、:登錄d:MicrosoftSQLServerMSSQLLOG*.* 用管理員帳號定期檢查所有帳號,是否密碼為空或者過于簡單,比如下面的語句: Usemaster Selectname,Passsysloginsaster Selectsysobjects.nameFromsysobjects,sysprotectsAIL服務器一樣,數(shù)據(jù)庫的日志可能就基本很少去查看,這將會成為管理員的一個