SQL Injection 攻擊說明

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的資料都抓出來

當然有經驗的程式設計師是不會這麼寫的,在此只是用於說明,如果不注意會引發很多的安全性漏洞