所謂SQL注入攻擊,就是攻擊者把SQL命令插入Web表單的輸入域或頁面請求的查詢字符串,欺騙服務(wù)器執(zhí)行惡意的SQL命令。在某些表單中,用戶輸入的內(nèi)容直接用來構(gòu)造或者影響動態(tài)SQL命令,或作為存儲過程的輸入?yún)?shù),這類表單特別容易收到SQL攻擊。
SQL注入是從正常的WWW端口訪問,而且表面看起來和一般的web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會對SQL注入發(fā)出警報。
?testfire 網(wǎng)站有SQL注入風險
? ? 1. 打開 http://demo.testfire.net
? ? 2. 打開登錄頁面
? ? 3. 在Username文本框中輸入 ' or '1'='1 ,在Password 文本框中輸入??' or '1'='1,按Login按鈕。

? ? 4.查看結(jié)果頁面
? ? 期望結(jié)果:頁面顯示拒絕登錄的信息
? ? 實際結(jié)果:以管理員身份成功登錄

類似的,testasp網(wǎng)站有SQL注入風險
網(wǎng)址: http://testasp.vulnweb.com/
點擊login,在Username文本框中輸入admin'-- ,在Password 文本框中輸入任意值(不得為空),按Login按鈕。


期望結(jié)果:不能登錄
實際結(jié)果:登錄成功

常見SQL注入攻擊的類型:
1.沒有正確過濾轉(zhuǎn)義字符
2.不正確的數(shù)據(jù)類型處理
3.數(shù)據(jù)庫服務(wù)器中的漏洞
4.盲目SQL注入攻擊
5.條件響應(yīng)
6.條件性差錯
7.時間延誤
SQL注入攻擊利用的是數(shù)據(jù)庫SQL語法,對SQL語法使用越深入,攻擊得到的信息就越多。