sql注入式攻擊是指利用設計上的漏洞攻擊系統。如果動態生成sql語句時沒有對使用者輸入的資料
進行過濾,便會使sql注入式攻擊得逞。
例如用下面的sql語句判斷使用者名稱和密碼:
txtsql="select * from user_info where userid='"&txtuserid &"' and_
password='" & txtpassword.text & "'"
則通過sql注入式攻擊,在「密碼」文字框中輸入1'or '1'='1,非法使用者便可在
沒有密碼的情況下輕鬆登入系統,因為sql語句已經變為:
txtsql="select * from user_info where userid='"&txtuserid &"' and_
password='" &_1'or '1'='1 & "'"
要防範sql注入式攻擊,應該注意一下幾點;
1,檢查輸入的sql語句的內容,如果包含敏感字元,則刪除敏感字元,敏感字元
包含【',>,<=,!,_,+,*,/,(),|和空格】
2,不要在使用者輸入過程中構造where子句,應該利用引數來使用儲存過程。
下面舉例來防範sql注入式攻擊:
function inputstring(mystr) as string
mystr=trim(mystr)
mystr=replace(mystr,"'","'")
mystr=replace(mystr,";--","")
mystr=replace(mystr,"=","")
mystr=replace(mystr,"or","")
mystr=replace(mystr,"and","")
end function
txtsql="select * from user_info where userid='" & txtuserid & "' and_
password='" & inputstring(txtpassword.text) & "'"
:donet技術分享平台
閱讀原文
防止SQL注入式攻擊的筆記
sql注入式攻擊是指利用設計上的漏洞攻擊系統。如果動態生成sql語句時沒有對使用者輸入的資料 進行過濾,便會使sql注入式攻擊得逞。例如用下面的sql語句判斷使用者名稱和密碼 txtsql select from user info where userid txtuserid and passwo...
防止SQL注入式攻擊
防止sql注入式攻擊 sql注入式攻擊是指利用設計上的漏洞攻擊系統。如果動態生成sql語句時沒有對使用者輸入的資料 進行過濾,便會使sql注入式攻擊得逞。例如用下面的sql語句判斷使用者名稱和密碼 txtsql select from user info where userid txtuserid...
如何防止SQL注入式攻擊?
所謂sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。通過一下的例子更形象的了解sql注入 有乙個login畫面,在這個login畫面上有兩個文字框分別用來輸入使用者名稱和密碼,當使用者點了登入按鈕的時候,會對輸入的使用者...