SQL Injection (又充SQL注入攻擊)此攻擊是發生在 當我們在開發系統時
往往會將要存取的資料,利用自己組合的SQL語法指令,而產生漏洞,讓駭客有機可趁
下面有一些SQL攻擊的範例:
當我們要判斷此用者的帳號密碼時,假如是使用此方式
(註: 此方式不是好方法只供說明)
member_account = (使用者帳號)
member_password = (使用者密碼)
“select * from member where member_account=’ ” + member_account + ” ‘ and member_password=’ ” + member_password + “‘”;
現在如果
member_account = ‘ or ‘1’=’1
member_password = ‘ or ‘1’=’1
則此SQL字串變成
“select * from member where member_account=’ ‘ or ‘1’=’1′ and member_password=’ ‘ or ‘1’=’1′ “;
而此時當程式設計者在驗證使用者的資料時,是判斷所抓取的資料是否大於1筆時
如此則可以不輸入帳號密碼,而可驗證通過
因為上述語法會將整個member的資料都抓出來
當然有經驗的程式設計師是不會這麼寫的,在此只是用於說明,如果不注意會引發很多的安全性漏洞