來源:巨靈鳥軟件 作者:進(jìn)銷存軟件 發(fā)布:2014/5/31 瀏覽次數(shù):6073
SQL注入:利用現(xiàn)有應(yīng)用程序,將(惡意)的SQL命令注入到后臺數(shù)據(jù)庫引擎執(zhí)行的能力,這是SQL注入的標(biāo)準(zhǔn)釋義。
隨著B/S模式被廣泛的應(yīng)用,用這種模式編寫應(yīng)用程序的程序員也越來越多,但由于開發(fā)人員的水平和經(jīng)驗(yàn)參差不齊,相當(dāng)一部分的開發(fā)人員在編寫代碼的時候,沒有對用戶的輸入數(shù)據(jù)或者是頁面中所攜帶的信息(如Cookie)進(jìn)行必要的合法性判斷,導(dǎo)致了攻擊者可以提交一段數(shù)據(jù)庫查詢代碼,根據(jù)程序返回的結(jié)果,獲得一些他想得到的數(shù)據(jù)。
SQL注入利用的是正常的HTTP服務(wù)端口,表面上看來和正常的web訪問沒有區(qū)別,隱蔽性極強(qiáng),不易被發(fā)現(xiàn)。
SQL注入過程
第一步:判斷Web環(huán)境是否可以SQL注入。如果URL僅是對網(wǎng)頁的訪問,不存在SQL注入問題,如:http://news.xxx.com.cn/162414739931.shtml就是普通的網(wǎng)頁訪問。只有對數(shù)據(jù)庫進(jìn)行動態(tài)查詢的業(yè)務(wù)才可能存在SQL注入,如:http://www.google.cn/webhp?id=39,其中?id=39表示數(shù)據(jù)庫查詢變量,這種語句會在數(shù)據(jù)庫中執(zhí)行,因此可能會給數(shù)據(jù)庫帶來威脅。
第二步:尋找SQL注入點(diǎn)。完成上一步的片斷后,就要尋找可利用的注入漏洞,通過輸入一些特殊語句,可以根據(jù)瀏覽器返回信息,判斷數(shù)據(jù)庫類型,從而構(gòu)建數(shù)據(jù)庫查詢語句找到注入點(diǎn)。
第三步:猜解用戶名和密碼。數(shù)據(jù)庫中存放的表名、字段名都是有規(guī)律可言的。通過構(gòu)建特殊數(shù)據(jù)庫語句在數(shù)據(jù)庫中依次查找表名、字段名、用戶名和密碼的長度,以及內(nèi)容。這個猜測過程可以通過網(wǎng)上大量注入工具快速實(shí)現(xiàn),并借助破解網(wǎng)站輕易破譯用戶密碼。
第四步:尋找WEB管理后臺入口。通常WEB后臺管理的界面不面向普通用戶
開放,要尋找到后臺的登陸路徑,可以利用掃描工具快速搜索到可能的登陸地址,依次進(jìn)行嘗試,就可以試出管理臺的入口地址。
第五步:入侵和破壞。成功登陸后臺管理后,接下來就可以任意進(jìn)行破壞行為,如篡改網(wǎng)頁、上傳木馬、修改、泄漏用戶信息等,并進(jìn)一步入侵?jǐn)?shù)據(jù)庫服務(wù)器。
SQL注入攻擊的特點(diǎn):
變種極多,有經(jīng)驗(yàn)的攻擊者會手動調(diào)整攻擊參數(shù),致使攻擊數(shù)據(jù)的變種是不可枚舉的,這導(dǎo)致傳統(tǒng)的特征匹配檢測方法僅能識別相當(dāng)少的攻擊,難以防范。
攻擊過程簡單,目前互聯(lián)網(wǎng)上流行眾多的SQL注入攻擊工具,攻擊者借助這些工具可很快對目標(biāo)WEB系統(tǒng)實(shí)施攻擊和破壞。
危害大,由于WEB編程語言自身的缺陷以及具有安全編程能力的開發(fā)人員少之又少,大多數(shù)WEB業(yè)務(wù)系統(tǒng)均具有被SQL注入攻擊的可能。而攻擊者一旦攻擊成功,可以對控制整個WEB業(yè)務(wù)系統(tǒng),對數(shù)據(jù)做任意的修改,破壞力達(dá)到極致。
來源:巨靈鳥 歡迎分享本文
上一個文章:如何使用SQL管理器管理我的SQL空間
下一個文章:SQL基本語句和語法