SQL Injection 相關資訊
SQL Injection( 資料隱碼)攻擊行為簡介
以下是此類攻擊的流程
1. 駭客運用搜尋引擎尋找網頁上的漏洞,並運用自動化工具攻擊網路服務器。
2. 一個<script>字串附加到在後端運行的SQL伺服器中所有的文本或可變長字串列中。
3. 這個腳本與駭客所控制伺服器連接。該伺服器含有一些常用軟體的利用代碼,如Microsoft MS06-014, 協力廠商軟體漏洞,(例如常用的媒體播放器及內容下載軟體)。有的時候還有一些零時差漏洞。
4. 當終端使用者試圖用IE流覽正常的網站時,由於這些網頁都將從SQL伺服器獲取資料,這些資料同時包含了惡意腳本<script>。而 這些腳本會自動連接到駭客的網站。
5. 如果普通使用者沒有依照建議安裝修正程式,防毒軟體,或尚未安裝Microsoft或協力廠商軟體最新版本的更新,那麼他們的電腦就會被感染。
SQL Injection( 資料隱碼)攻擊行為的解決方案
一旦web伺服器遭到SQL注入攻擊,請遵循如下步驟:
1、關閉網站
2、檢查IIS日誌,查找引起這次攻擊的有漏洞的目標網頁
3、聯繫web開發者,修改並加強ASP頁面。
注意這只是一種變通的解決方法,只能臨時解決SQL Injection問題。該網站可能在伺服器再次聯網後被再次注入。為了徹底解決這個問題,請參閱“預防SQL Injection(資料隱碼)攻擊的解決方案”。
預防SQL注入攻擊的解決方案
這種SQL Injection攻擊是由網頁程式開發不符合安全編碼的要求所引起的。為了防止攻擊,我們需要驗證所有網頁的字串輸入的函數。比如說,帶有用戶名和密碼輸入框的網站登錄頁。
我們也可以在微軟的官方網站上找到安全指導和最佳實踐建議,來應對SQL Injection(資料隱碼)攻擊。
用來減緩與解決SQL Injection攻擊的最佳實踐建議可以在這裡找到:
SQL 資料隱碼
『資料隱碼』SQL Injection的源由與防範之道
SQL Injection (資料隱碼)– 駭客的 SQL填空遊戲(上)
SQL Injection (資料隱碼)– 駭客的 SQL填空遊戲(下)
How To - Protect from Injection Attacks in ASP.NET
How To - Protect from SQL Injection in ASP.NET
How To - Protect from Cross-Site Scripting in ASP.NET
Design Guidelines
Arch/Design Inspection
對於用戶端使用者,請確保電腦系統中已安裝了微軟及協力廠商軟體的最新安全修正程式以及最新的防毒程式定義檔。
注意,SQL Injection 不只會在 MS SQL Server 上會發生,在其它廠牌的資料庫產品也可能會有相同的情況發生。
Comments
Anonymous
May 25, 2008
PingBack from http://www.travel-hilarity.com/airline_travel/?p=4763Anonymous
August 24, 2008
UrlScan 在 3.0 的版本中,特別加強了對 SQL Injection 的防護。8/20 已公佈 RTW 的版本,下載位置: Microsoft Urlscan Filter v3.0(x86)Anonymous
August 24, 2008
UrlScan 在 3.0 的版本中,特別加強了對 SQL Injection 的防護。8/20 已公佈 RTW 的版本,下載位置: Microsoft Urlscan Filter v3.0(x86