所謂SQL注入,就是把SQL命令插入到Web表單提交, 或輸入域名, 或頁面請求的查詢字符串,最終達到欺騙服務器執(zhí)行惡意SQL命令的目的
具體來說,它是利用現(xiàn)有應用程序,將惡意的SQL命令注入到后臺數(shù)據(jù)庫引擎執(zhí)行
它可以通過在Web表單中輸入SQL語句得到一個存在安全漏洞的網(wǎng)站上的數(shù)據(jù)庫,而不是按照設計者的意圖去執(zhí)行SQL語句
舉個例子,你要登錄一個網(wǎng)站,上面讓你輸入用戶名字和密碼。
那么,假如你輸入的用戶名是 admin ,但是你不知道密碼,你就輸入了一個 1' OR '1' = '1
那么,你就提交了兩個參數(shù)給服務器。
假如,服務器拿這兩個參數(shù)拼SQL語句
SELECT T.* FROM XXX_TABLE T WHERE T.USER_ID = '/*param1*/'AND T.PASSWORD = '/*param2*/'
那么,你提交的兩個參數(shù)就使SQL語句變成了
SELECT T.* FROM XXX_TABLE T WHERE T.USER_ID = 'admin' AND T.PASSWORD = '1' OR '1' = '1'
那么,這個SQL原來的校驗功能就被你繞過去了,你的這種行為就稱之為SQL注入
為了成功注入SQL命令,攻擊者必須將開發(fā)者現(xiàn)有的sql命令轉(zhuǎn)化成合法的sql語句,當然,要盲注總是有難度的,但一般都是
'OR1=1– 或者 ')OR1=1--
總結(jié)一下SQL注入的思路
否則繼續(xù)
發(fā)現(xiàn)WEB虛擬目錄
上傳ASP木馬
得到管理員權限
對SQL注入的防御方法