| 預存程序 | 功能 | 範例 |
xp_dirtree | 遞歸列舉目錄樹 | EXEC MASTER..XP_DIRTREE 'C:\' |
xp_subdirs | 列舉一級子目錄 | EXEC MASTER..XP_SUBDIRS 'C:\' |
xp_availablemedia | 列舉可用磁碟分區 | EXEC MASTER..XP_AVAILABLEMEDIA |
xp_fileexist | 檢測檔案/目錄是否存在 | EXEC MASTER..XP_FILEEXIST 'C:\BOOT.INI' |
這些資訊協助攻擊者繪製目標拓撲、尋找敏感檔案、規劃後續滲透路徑。
五、防禦「妙法」批判性檢視
原文提出三招:
- 修改管理員帳號欄位型別為長文本(255/備註型)
- ID=1 放入超長中文干擾碼(>100 字)
- 真實密碼放在 ID=2 之後任意位置,登入頁限制輸入長度攔截干擾碼
評析:
- 屬於「混淆防禦」,非根治方案
- 攻擊者可繞過前端限制直接攻擊資料庫
- 資料結構變更增加維護成本
- **正解**:參數化查詢 + 最小權限 + 移除高危擴展 + WAF + 定期滲透測試
總結:SQL Server 注入防禦鐵三角
- 代碼層:全面參數化查詢 / 預存程序,杜絕字串拼接
- 資料庫層:移除/停用
xp_cmdshell、sp_OA*、xp_regwrite、xp_servicecontrol、xp_dirtree 等高危擴展;啟用 DISALLOW ADHOC ACCESS;最小權限原則配置應用帳號
- 網路/主機層:WAF 規則攔截注入特徵、SSL 加密傳輸、防火牆白名單、OS 級審計(註冊表/啟動項/排程任務變更)
**沒有單一銀彈,唯有纵深防禦與持續運營。**
- 上一篇文章: SQL Server 注入攻擊大全與防禦實戰 (2) — 任意檔案寫入與任意權限執行命令
- 下一篇文章: SQL Server 注入攻擊大全與防禦 (三):目錄遍歷、檔案操作與實戰防禦技巧
Copyright ©
程式碼之家 All Rights Reserved