sql注入攻擊種類(lèi)有:沒(méi)有過(guò)濾轉(zhuǎn)義字符、錯(cuò)誤的類(lèi)型處理、數(shù)據(jù)庫(kù)服務(wù)器中的漏洞、盲目SQL注入式攻擊等。
1.沒(méi)有正確過(guò)濾轉(zhuǎn)義字符,在用戶(hù)的輸入沒(méi)有為轉(zhuǎn)義字符過(guò)濾時(shí),就會(huì)發(fā)生這種形式的注入式攻擊,它會(huì)被傳遞給一個(gè)SQL語(yǔ)句,例如:
statement := "SELECT * FROM users WHERE name = '" + userName + "'; "
2.Incorrect type handling(錯(cuò)誤的類(lèi)型處理),如果一個(gè)用戶(hù)提供的字段并非一個(gè)強(qiáng)類(lèi)型,或者沒(méi)有實(shí)施類(lèi)型強(qiáng)制,就會(huì)發(fā)生這種形式的攻擊,例如:
statement := "SELECT * FROM data WHERE id = " + a_variable + "; "
3.數(shù)據(jù)庫(kù)服務(wù)器中的漏洞,如MYSQL服務(wù)器中mysql_real_escape_string()函數(shù)漏洞。
4.盲目SQL注入式攻擊,當(dāng)一個(gè)Web應(yīng)用程序易于遭受攻擊而其結(jié)果對(duì)攻擊者卻不見(jiàn)時(shí),就會(huì)發(fā)生盲目SQL注入式攻擊。