無論是使用手工試探還是使用安全性測試工具,惡意攻擊者總是使用各種詭計從你的防火牆內部和外部攻破你的SQL伺服器系統。既然駭客在做這樣的事情。你也需要實施同樣的攻擊來檢驗你的系統的安全實力。這是理所當然的。下面是駭客訪問和攻破運行SQL伺服器的系統的十種詭計。
1.通過互連網直接連接
這些串連可以用來攻擊沒有防火牆保護、全世界都可以看到和訪問的SQL伺服器。DShield公司的連接埠報告顯示了有多少系統在那裡等待遭受攻擊。我
不理解允許從互連網直接存取這種重要的伺服器的理由是什麼。但是,我在我的評估中仍發現了這種安全性漏洞。我們都記得SQL Slammer蠕蟲對那樣多的
有漏洞的SQL伺服器系統造成的影響。而且,這些直接的攻擊能夠導致拒絕服務的攻擊、緩衝溢出和其它攻擊。
2.安全性漏洞掃描
安全性漏洞掃描通常可以基本的作業系統、網路應用程式或者資料庫系統本身的弱點。從沒有使用SQL安全補丁、互連網資訊服務(IIS)設定弱點到
SNMP(簡易網路管理通訊協定)漏洞等任何事情都能夠被攻擊者發現,並且導致資料庫被攻破。這些壞蛋也需使用開源軟體、自己製作的工具軟體或者商業性工具軟
件。有些技術高手甚至能夠在命令提示字元下實施手工駭客攻擊。為了節省時間,我建議使用商業性的安全性漏洞評估工具,如Qualys公司的
QualysGuard(用於普通掃描)、SPI Dynamics公司的WebInspect(用於網路應用程式掃描)和下一代安全軟體公司的
“NGSSquirrel for SQL Server”(用於資料庫掃描)。這些工具軟體很容易使用,提供了最廣泛的評估,並且可以提供最佳的結果。
3.列舉SQL伺服器解析服務
在UDP連接埠1434上運行,這能讓你發現隱形資料庫執行個體和更深入地探查這個系統。Chip Andrews的“SQLPing v 2.5”是一
個極好的工具,可用來查看SQL伺服器系統並且確定版本編號。你的資料庫執行個體即使不監聽這個預設的連接埠,這個工具軟體也能發揮作用。此外,當過分長的
SQL伺服器請求發送到UDP連接埠1434的廣播位址的時候,會出現緩衝溢出問題。
4.破解SA口令
攻擊者還可以通過破解SA口令的方法進入SQL伺服器資料庫。遺憾的是,在許多情況下不需要破解口令,因為沒有分配口令。因此,可以使用上面提到的一
種小工具SQLPing。Application安全公司的AppDetective和NGS軟體公司的NGSSQLCrack等商業性工具軟體也有這種
功能。
5.直接利用安全性漏洞攻擊
使用Metasploit等工具軟體可以直接實施攻擊。這種軟體的商業性軟體“CANVAS”和“CORE IMPACT”等能夠利用在正常的安全漏
洞掃描過程中發現的安全性漏洞實施攻擊。這是非常有效攻擊手段,攻擊者可利用這種手段突破系統、從事代碼注入或者取得非經授權的命令列存取權限。
6.SQL注入
SQL注入攻擊可以通過沒有正確驗證使用者輸入的前端網路應用程式實施。包括SQL指令在內的異常的SQL查詢可以直接注入到網路URL(統一資源定位
符)中,並且返回一些錯誤通知,執行一些指令等等。如果你有時間的話,這些攻擊可以手工實施。我一旦發現一個伺服器有一個潛在的SQL注入安全性漏洞,我喜
歡使用一種自動的工具深入研究這個漏洞。這些工具包括SPI Dynamics公司的SQL注入器等。
7.SQL盲注攻擊
這些攻擊以標準的SQL注入攻擊相同的基本方式利用網路應用程式和後端SQL伺服器的安全性漏洞。最大的區別是攻擊者收不到以錯誤通知形式從網路伺服器發回的資訊。這種攻擊由於涉及到猜口令,速度要比標準的SQL注入攻擊慢一些。在這種情況下,你需要一種比較好的工具。
8.對系統實施逆向工程
逆向工程的方法可以尋找軟體的安全性漏洞和記憶體損壞弱點等漏洞。在利用軟體安全性漏洞方面,可以參考Greg Hoglund和Gary McGraw合著的“如何破解代碼”一書,你可以發現有關逆向工程方法的一些討論。
9.Google hacks
Google hacks利用Google搜尋引擎不同尋常的力量搜出可公開訪問的系統泄漏出來的SQL伺服器的錯誤,如
“Incorrect syntax near”(附近語法錯誤)。Johnny Long編寫的“Google Hacking Database”數
據庫中一些Google的查詢項目。(查看錯誤資訊和包含口令的檔案部分)。駭客能夠使用Google找到口令、網路伺服器中的安全性漏洞、基本的操作系
統、公開提供的程式以及其它能夠用來攻破SQL伺服器系統的東西。通過Google網站的“site:”操作符把這些查詢結合在一起同場可以發現你想不到
能夠找到的東西。
10.熟讀網站原始碼
原始碼還能夠暴露可能導致SQL伺服器被攻破的資訊。特別是開發人員為了簡化身份識別過程把SQL伺服器身份識別資訊儲存在ASP指令碼中的情況下更是如此。手工評估或者Google能夠在一瞬間就發現這個資訊。