SQL Injection 攻擊頻發,許多大型網站慘遭注入。SQL Server 2000 已通過美國政府 C2 級安全認證,本身架構安全,關鍵在於**配置與管理**。本文提供分層防護實戰清單。
未打補丁的系統是最大漏洞,務必優先套用累積更新與安全公告補丁。
效果:攻擊者即使竊取帳密,也無法直接用查詢分析器遠端連線,大幅增加攻擊難度。
攻擊者確認注入點後,第一步必測權限:IS_SRVROLEMEMBER('sysadmin')、IS_MEMBER('db_owner')。若為 sa 或 db_owner,配合絕對路徑可植入 Webshell、執行 xp_cmdshell 奪取主機控制權。
App_Role)。db_owner、db_securityadmin、db_backupoperator、db_ddladminSQL Server 內建多支可讀寫登錄、執行命令、列舉目錄的擴展程序,若被注入利用後果嚴重。建議**全數移除**,需要時再恢復:
-- 移除高危擴展程序 EXEC sp_dropextendedproc 'xp_cmdshell'; EXEC sp_dropextendedproc 'xp_regread'; EXEC sp_dropextendedproc 'xp_regwrite'; EXEC sp_dropextendedproc 'xp_regdeletekey'; EXEC sp_dropextendedproc 'xp_regdeletevalue'; EXEC sp_dropextendedproc 'xp_regenumvalues'; EXEC sp_dropextendedproc 'xp_regenumkeys'; EXEC sp_dropextendedproc 'xp_regaddmultistring'; EXEC sp_dropextendedproc 'xp_regremovemultistring'; EXEC sp_dropextendedproc 'xp_dirtree'; EXEC sp_dropextendedproc 'xp_enumgroups'; EXEC sp_dropextendedproc 'xp_fixeddrives'; EXEC sp_dropextendedproc 'xp_loginconfig'; EXEC sp_dropextendedproc 'xp_getfiledetails'; EXEC sp_dropextendedproc 'xp_enumerrorlogs'; -- ActiveX 相關 EXEC sp_dropextendedproc 'sp_OACreate'; EXEC sp_dropextendedproc 'sp_OAMethod'; EXEC sp_dropextendedproc 'sp_OAGetProperty'; EXEC sp_dropextendedproc 'sp_OASetProperty'; EXEC sp_dropextendedproc 'sp_OADestroy'; EXEC sp_dropextendedproc 'sp_OAGetErrorInfo'; EXEC sp_dropextendedproc 'sp_OAStop';
補充防禦:移除後將對應 DLL(如 xplog70.dll, xpstar.dll)改名,防止攻擊者用 sp_addextendedproc 恢復。
Program Files,減少權限提升面。資料庫安全非單一設定可成,需**補丁管理 + 網路隔離 + 最小權限 + 移除危險功能 + 稽核監控**多層纵深防禦。將攻擊面壓縮到最小,才能在注入發生時將損失控制在資料層,避免主機淪陷。