無論手工試探或自動化工具,惡意攻擊者總從防火牆內外攻擊 SQL Server。為驗證系統安全,你也需實施同樣攻擊測試。以下十大駭客詭計:
- 直接互聯網連線:攻擊無防火牆保護、全球可見的 SQL Server。DShield 埠口報告顯示大量待宰羔羊。SQL Slammer 蠕蟲曾大規模襲擊此類伺服器,導致 DoS、緩衝區溢位等。
- 安全漏洞掃描:發現作業系統、網路應用、資料庫本身弱點(未打 SQL 補丁、IIS 配置錯誤、SNMP 漏洞等)。工具:開源、自製、商業(QualysGuard 通用掃描、WebInspect Web 應用掃描、NGSSquirrel for SQL Server 資料庫掃描),商業工具易用、評估廣、結果佳。
- 枚舉 SQL Server 解析服務:UDP 1434 埠發現隱藏資料庫實例、深入探測。Chip Andrews
SQLPing v2.5 絕佳工具,即使不監聽預設埠也能發現。過長請求送至 UDP 1434 廣播位址會觸發緩衝區溢位。
- 破解 SA 密碼:許多情況 SA 根本無密碼。可用 SQLPing、AppDetective、NGSSQLCrack 等工具破解。
- 直接利用漏洞攻擊:Metasploit 等工具直接攻擊。商業版 CANVAS、CORE IMPACT 利用掃描發現的漏洞實施攻擊,極其有效:突破系統、代碼注入、取得未授權命令列存取。
- SQL 注入:透過未正確驗證輸入的前端 Web 應用注入異常 SQL 查詢(含 SQL 指令)至 URL,獲取錯誤回顯、執行命令。手工可行,發現潛在漏洞後偏好自動化工具深入(如 SPI Dynamics SQL Injector)。
- SQL 盲注攻擊:同樣利用 Web 應用與後端 SQL Server 漏洞,但無錯誤回顯,需猜測,速度較慢,需更好工具。
- 系統逆向工程:尋找軟體漏洞與記憶體損壞弱點。參考 Greg Hoglund 與 Gary McGraw 合著《如何破解代碼》(Exploiting Software)。
- Google Hacks:利用 Google 搜尋公開洩露的 SQL Server 錯誤(如 "Incorrect syntax near")。Johnny Long《Google Hacking Database》收錄查詢語句(錯誤訊息、含密碼文件)。結合
site: 操作符可發現意想不到的情報(密碼、Web 伺服器漏洞、作業系統、公開程式等)。
- 研讀網站原始碼:原始碼可能洩露導致 SQL Server 被攻破的資訊。開發者為簡化認證將 SQL Server 認證資訊存入 ASP 腳本,手工評估或 Google 瞬間可發現。