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