小心你的WEB應(yīng)用程序成為數(shù)據(jù)竊賊的幫兇 |
發(fā)布時(shí)間: 2012/6/11 19:27:05 |
當(dāng)心,你以為固若金湯的數(shù)據(jù)庫(kù)可能已遭到了入侵。你需要重新思考一下自己公司的網(wǎng)站是否真得不會(huì)遭到SQL注入攻擊。SQL注入是最流行也是最危險(xiǎn)的Web應(yīng)用程序漏洞利用技術(shù),它可以攻擊存儲(chǔ)著珍貴企業(yè)信息的后端數(shù)據(jù)庫(kù),且“簡(jiǎn)約高效”。
本文將闡述攻擊者如何通過(guò)這種方法來(lái)利用Web應(yīng)用程序的漏洞。有時(shí),即使攻擊者也不了解自己正在利用的漏洞的性質(zhì)。 何為SQL注入 就其最基本的意義來(lái)說(shuō),SQL注入只不過(guò)是操縱一個(gè)已有的SQL查詢,執(zhí)行一個(gè)并非開(kāi)發(fā)人員意圖的動(dòng)作。這種動(dòng)作通常是通過(guò)Web應(yīng)用程序的用戶界面完成的。 但這種攻擊是如何進(jìn)行的?它為什么屢屢得逞? Web應(yīng)用程序和數(shù)據(jù)庫(kù)之間的正常交互 所有的SQL注入漏洞都是由某些未經(jīng)驗(yàn)證的用戶輸入開(kāi)始的。用戶輸入可以采取多種形式,它可以包括一個(gè)攻擊者操縱的由億恩科技服務(wù)器處理的任何東西,例如:用戶代理、HTTP報(bào)頭、POST參數(shù)、cookies、GET參數(shù),甚至網(wǎng)址標(biāo)頭等。是什么令未經(jīng)驗(yàn)證的用戶輸入如此特殊呢?答案是:應(yīng)用程序并沒(méi)有對(duì)其進(jìn)行充分的檢查,從而不能確保所收到的輸入就是所期望的類型和方式。例如,雖然你的應(yīng)用程序的編制目的是為了接收可以包括字母、數(shù)字的字符串作為用戶名,但此程序并沒(méi)有驗(yàn)證輸入,從而使得黑客可以插入SQL注入的數(shù)據(jù)庫(kù)查詢: 比如,一個(gè)典型的網(wǎng)站會(huì)要求你的用戶名,并希望這個(gè)結(jié)果是“Zhangsan”: Wangzhan.com/usertetail.asp?username=Zhangsan 在這個(gè)例子中,有可能會(huì)發(fā)生這樣的情況:某個(gè)查詢促使網(wǎng)站在后臺(tái)與數(shù)據(jù)庫(kù)交互,從而獲取關(guān)于用戶(如,Zhangsan)的信息: SELECT uname,fname,lname,phone,street,city,state,zip FROM users WHERE user =$var_username 當(dāng)Web應(yīng)用程序代碼處理這個(gè)請(qǐng)求時(shí),為了完成查詢,來(lái)自用戶名的值(Zhangsan)被傳遞給$var_username。億恩科技服務(wù)器應(yīng)當(dāng)將SQL查詢的結(jié)果變成標(biāo)準(zhǔn)格式,并顯示此結(jié)果以便于用戶查看Zhangsan的細(xì)節(jié)。 本文出自:億恩科技【www.allwellnessguide.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |