解決大範圍SQL注入的問題

2021-04-17 19:03:51 字數 1563 閱讀 8716

據idg新聞服務5月19**道,中國大陸和中國台灣地區數以千計的**正在遭受大規模的sql注入攻擊。由於採用了非常強的sql注入攻擊手段,因此將會給很多目標**帶來不可逆轉的破壞,數以千計的**被捲入到了這次攻擊中,截止上周五已經有超過1萬個伺服器被植入了惡意**,而其中的大部分都位於中國大陸,還有一少部分位於中國台灣地區。搜房網和深圳汽車大世界網都淪為了上周五的攻擊目標。

受到攻擊的伺服器資料庫表中所有字元欄位都被加入「">1.用lcase防範大寫的sql注入**

2,分別防範來自request.querystring,request.form,request.cookies三個方面的危險

3。直接將**拷進資料庫鏈結檔案,例如asp語言的可以新增到conn檔案中。

sql_injdata = "'|exec|insert|select|delete|update|count|iframe|script|chr|mid|master|truncate|char|declare|*|%|and"

sql_inj = split(sql_injdata,"|")

'querystring請求的注入的攔截

if request.querystring<>"" then

for each sql_get in request.querystring

for sql_data=0 to ubound(sql_inj)

if instr(lcase(request.querystring(sql_get)),sql_inj(sql_data))>0 then

response.write "您提交的內容含有非法字元"

response.end

end if

next

next

end if

'get請求的注入的攔截

if request.form<>"" then

for each sql_post in request.form

for sql_data=0 to ubound(sql_inj)

if instr(lcase(request.form(sql_post)),sql_inj(sql_data))>0 then

response.write "您提交的內容含有非法字元"

response.end

end if

next

next

end if

'cookies請求的注入的攔截 

if request.cookies<>"" then

for each sql_post1 in request.cookies

for sql_data=0 to ubound(sql_inj)

if instr(lcase(request.form(sql_post1)),sql_inj(sql_data))>0 then

response.write "您提交的內容含有非法字元"

response.end

end if

next

next

end if

ibatis解決sql注入問題

最近看看了sql注入的問題,這篇文章解決了ibatis如何防sql注入攻擊,值得參考,對於ibaits引數引用可以使用 和 兩種寫法,其中 寫法會採用預編譯方式,將轉義交給了資料庫,不會出現注入問題 如果採用 寫法,則相當於拼接字串,會出現注入問題。例如,如果屬性值為 or 1 1 採用 寫法沒有問...

pymysql 解決 sql 注入問題

sql 注入是非常常見的一種網路攻擊方式,主要是通過引數來讓 mysql 執行 sql 語句時進行預期之外的操作。例如,下面這段 通過獲取使用者資訊來校驗使用者許可權 import pymysql sql select count as count from user where id str in...

ibatis解決sql注入問題

對於ibaits引數引用可以使用 和 兩種寫法,其中 寫法會採用預編譯方式,將轉義交給了資料庫,不會出現注入問題 如果採用 寫法,則相當於拼接字串,會出現注入問題。例如,如果屬性值為 or 1 1 採用 寫法沒有問題,採用 寫法就會有問題。對於like語句,難免要使用 寫法,1.對於oracle可以...