萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> 如何修改SQL SERVER內置存儲過程

如何修改SQL SERVER內置存儲過程

   SQLSERVER估計是為了安裝或者其它方面,它內置了一批危險的存儲過程。能讀到注冊表信息,能寫入注冊表信息,能讀磁盤共享信息等等……各位看到這兒,心裡可能會在想,我的網站中有其它的代碼,又不像查詢分析器那樣能直接將結果輸出。給你這個權限,也不能怎麼樣,還是看不到信息。如果各位這樣想就大錯特錯了。提示一下,如果攻擊者有CREATE TABLE的權限,那麼創建一個臨時表,然後將信息INSERT到表中,然SELECT出來,接著跟數字進行比較,讓SQL SERVER報錯,那麼結果就全出來了……所以我們要報著寧錯殺,不放過的態度進行修補。

  先來列出危險的內置存儲過程:

  xp_cmdshell

  xp_regaddmultistring

  xp_regdeletekey

  xp_regdeletevalue

  xp_regenumkeys

  xp_regenumvalues

  xp_regread

  xp_regremovemultistring

  xp_regwrite

  ActiveX自動腳本:

  sp_OACreate

  sp_OADestroy

  sp_OAMethod

  sp_OAGetProperty

  sp_OASetProperty

  sp_OAGetErrorInfo

  sp_OAStop

  以上各項全在我們封殺之列,例如xp_cmdshell屏蔽的方法為:

  sp_dropextendedproc 'xp_cmdshell'

  如果需要的話,再用

  sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'

  進行恢復。如果你不知道xp_cmdshell使用的是哪個.dll文件的話,可以使用

  sp_helpextendedproc xp_cmdshel

  來查看xp_cmdshell使用的是哪個動態聯接庫。另外,將xp_cmdshell屏蔽後,我們還需要做的步驟是將xpsql70.dll文件進行改名,以防止獲得SA的攻擊者將它進行恢復。

copyright © 萬盛學電腦網 all rights reserved