防止SQL注入式攻擊的筆記

2022-03-23 23:49:22 字數 1045 閱讀 2085

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畫面上有兩個文字框分別用來輸入使用者名稱和密碼,當使用者點了登入按鈕的時候,會對輸入的使用者...