首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2000 移除所有危隆擴展預存程序與還原腳本

     編輯:關於SqlServer

為強化安全性,建議移除不必要的擴展預存程序。以下為完整移除與還原腳本:

移除腳本 (在 master 資料庫執行)

USE master
GO
EXEC sp_dropextendedproc 'xp_cmdshell'
EXEC sp_dropextendedproc 'xp_dirtree'
EXEC sp_dropextendedproc 'xp_enumgroups'
EXEC sp_dropextendedproc 'xp_fixeddrives'
EXEC sp_dropextendedproc 'xp_loginconfig'
EXEC sp_dropextendedproc 'xp_enumerrorlogs'
EXEC sp_dropextendedproc 'xp_getfiledetails'
EXEC sp_dropextendedproc 'sp_OACreate'
EXEC sp_dropextendedproc 'sp_OADestroy'
EXEC sp_dropextendedproc 'sp_OAGetErrorInfo'
EXEC sp_dropextendedproc 'sp_OAGetProperty'
EXEC sp_dropextendedproc 'sp_OAMethod'
EXEC sp_dropextendedproc 'sp_OASetProperty'
EXEC sp_dropextendedproc 'sp_OAStop'
EXEC sp_dropextendedproc 'xp_regaddmultistring'
EXEC sp_dropextendedproc 'xp_regdeletekey'
EXEC sp_dropextendedproc 'xp_regdeletevalue'
EXEC sp_dropextendedproc 'xp_regenumvalues'
EXEC sp_dropextendedproc 'xp_regread'
EXEC sp_dropextendedproc 'xp_regremovemultistring'
EXEC sp_dropextendedproc 'xp_regwrite'
DROP PROCEDURE sp_makewebtask
GO

還原腳本 (需相對應 DLL 檔案)

USE master
GO
EXEC sp_addextendedproc 'xp_cmdshell', 'xp_cmdshell.dll'
EXEC sp_addextendedproc 'xp_dirtree', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_enumgroups', 'xplog70.dll'
EXEC sp_addextendedproc 'xp_fixeddrives', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_loginconfig', 'xplog70.dll'
EXEC sp_addextendedproc 'xp_enumerrorlogs', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_getfiledetails', 'xpstar.dll'
EXEC sp_addextendedproc 'sp_OACreate', 'odsole70.dll'
EXEC sp_addextendedproc 'sp_OADestroy', 'odsole70.dll'
EXEC sp_addextendedproc 'sp_OAGetErrorInfo', 'odsole70.dll'
EXEC sp_addextendedproc 'sp_OAGetProperty', 'odsole70.dll'
EXEC sp_addextendedproc 'sp_OAMethod', 'odsole70.dll'
EXEC sp_addextendedproc 'sp_OASetProperty', 'odsole70.dll'
EXEC sp_addextendedproc 'sp_OAStop', 'odsole70.dll'
EXEC sp_addextendedproc 'xp_regaddmultistring', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_regdeletekey', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_regdeletevalue', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_regenumvalues', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_regread', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_regremovemultistring', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_regwrite', 'xpstar.dll'
GO

功能分類對照

類別擴展程序DLL風險
命令執行xp_cmdshellxp_cmdshell.dll極高 (OS 指令注入)
檔案系統xp_dirtree, xp_getfiledetails, xp_fixeddrivesxpstar.dll高 (目錄遍歷、磁碟資訊洩露)
登錄存取xp_reg*xpstar.dll高 (登錄讀寫、列舉)
OLE 自動化sp_OA*odsole70.dll高 (COM 物件實例化、任意程式碼執行)
帳號/錯誤資訊xp_enumgroups, xp_loginconfig, xp_enumerrorlogsxplog70.dll/xpstar.dll中 (資訊洩露)

執行建議

  1. 先在測試環境執行移除腳本,驗證應用程式無相依
  2. 確認無業務影響後,再套用至生產環境
  3. 保留還原腳本與 DLL 檔案位置,以備緊急恢復
  4. 若需保留特定功能 (如 xp_fixeddrives 監控磁碟),僅移除其餘項目

最小化擴展預存程序面,是 SQL Server 2000 硬化部署的關鍵步驟。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved