網(wǎng)站建設(shè)的安全-SQL 注入發(fā)布者:本站 時間:2020-04-07 08:04:06
SQL 注入
引起原因:
其實現(xiàn)在很多網(wǎng)站中都存在這種問題。就是程序中直接進行SQL語句拼接。可能有些讀者不太明白。下面通過一個登錄時對用戶驗證來說明:
code:
驗證時的sql語句: select * from where user='"+txtUsername.Text+"' and pwd='"+txtPwd.Text+"'
這是一段從數(shù)據(jù)庫中查詢用戶,對用戶名,密碼驗證。
看上去好象沒有什么問題,但是實際這里面淺藏著問題,用戶名:admin 密碼: admin,
select * from where user='admin' and pwd='admin'
如果用戶和密碼正確就可通驗證。如果我用戶名:asdf' or 1=1 -- 密碼:隨意輸入.
我們再來看語句:
select * from where user=‘a(chǎn)sdf' or 1=1 -- and pwd=''
執(zhí)行后看到什么 是不是所有記錄,如果程序只是簡單判斷返回的條數(shù),這種方法就可以通驗證。
如果執(zhí)行語句是SA用戶,再通過xp_cmdshell添加系統(tǒng)管理員,那么這個服務(wù)器就被拿下了。
解決方法:
(1):這個問題主要是由于傳入特殊字符引起的我們可以在對輸入的用戶名密碼進入過濾特殊字符處理。
(2):使用存儲過程通過傳入?yún)?shù)的方法可解決此類問題(注意:在存儲過程中不可使用拼接實現(xiàn),不然和沒用存儲過和是一樣的)。
選擇我們,優(yōu)質(zhì)服務(wù),不容錯過
1. 優(yōu)秀的網(wǎng)絡(luò)資源,強大的網(wǎng)站優(yōu)化技術(shù),穩(wěn)定的網(wǎng)站和速度保證
2. 15年上海網(wǎng)站建設(shè)經(jīng)驗,優(yōu)秀的技術(shù)和設(shè)計水平,更放心
3. 全程省心服務(wù),不必擔(dān)心自己不懂網(wǎng)絡(luò),更省心。
------------------------------------------------------------
24小時聯(lián)系電話:021-58370032