原文地址:http://www.cnblogs.com/rush/archive/2011/12/31/2309203.html1.1.1 摘要日前,國內最大的程序員社區(qū)CSDN網站的用戶數(shù)據(jù)庫被黑客公開發(fā)布,600萬用戶的登錄名及密碼被公開泄露,隨后又有多家網站的用戶密碼被流傳于網絡,連日來引發(fā)眾多網民對自己賬號、密碼等互聯(lián)網信息被盜取的普遍擔憂。網絡安全成為了現(xiàn)在互聯(lián)網的焦點,這也恰恰觸動了每一位用戶的神經,由于設計的漏洞導致了不可收拾的惡果,驗證了一句話“出來混的,遲早是要還的”,所以我想通過專題博文介紹一些常用的攻擊技術和防范策略。SQL Injection也許很多人都知道或者使用過,如果沒有了解或完全沒有聽過也沒有關系,因為接下來我們將介紹SQL Injection。
1.1.2 正文SQL Injection:
1.1.1 摘要日前,國內最大的程序員社區(qū)CSDN網站的用戶數(shù)據(jù)庫被黑客公開發(fā)布,600萬用戶的登錄名及密碼被公開泄露,隨后又有多家網站的用戶密碼被流傳于網絡,連日來引發(fā)眾多網民對自己賬號、密碼等互聯(lián)網信息被盜取的普遍擔憂。網絡安全成為了現(xiàn)在互聯(lián)網的焦點,這也恰恰觸動了每一位用戶的神經,由于設計的漏洞導致了不可收拾的惡果,驗證了一句話“出來混的,遲早是要還的”,所以我想通過專題博文介紹一些常用的攻擊技術和防范策略。SQL Injection也許很多人都知道或者使用過,如果沒有了解或完全沒有聽過也沒有關系,因為接下來我們將介紹SQL Injection。1.1.2 正文SQL Injection:就是通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執(zhí)行惡意的SQL命令。具體來說,它是利用現(xiàn)有應用程序,將(惡意)的SQL命令注入到后臺數(shù)據(jù)庫引擎執(zhí)行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的數(shù)據(jù)庫,而不是按照設計者意圖去執(zhí)行SQL語句。首先讓我們了解什么時候可能發(fā)生SQL Injection。假設我們在瀏覽器中輸入URL www.sample.com,由于它只是對頁面的簡單請求無需對數(shù)據(jù)庫動進行動態(tài)請求,所以它不存在SQL Injection,當我們輸入www.sample.com?testid=23時,我們在URL中傳遞變量testid,并且提供值為23,由于它是對數(shù)據(jù)庫進行動態(tài)查詢的請求(其中?testid=23表示數(shù)據(jù)庫查詢變量),所以我們可以該URL中嵌入惡意SQL語句。現(xiàn)在我們知道SQL Injection適用場合,接下來我們將通過具體的例子來說明SQL Injection的應用,這里我們以pubs數(shù)據(jù)庫作為例子。我們通過Web頁面查詢job表中的招聘信息,job表的設計如下:圖1 jobs表接著讓我們實現(xiàn)Web程序,它根據(jù)工作Id(job_id)來查詢相應的招聘信息,示意代碼如下:////// Handles the Load event of the Page control.