ASP 防 SQL 注入攻擊通用程式

2021-04-01 17:20:06 字數 1405 閱讀 7275

sql 注入被那些菜鳥級別的所謂黑客高手玩出了滋味,發現現在大部分黑客入侵都是基於sql注入實現的,哎,誰讓這個入門容易呢,好了,不說廢話了,現在我開始說如果編寫通用的sql防注入程式一般的http請求不外乎get 和 post,所以只要我們在檔案中過濾所有 post 或者 get 請求中的引數資訊中非法字元即可,所以我們實現 http 請求資訊過濾就可以判斷是是否受到 sql 注入攻擊。

iis 傳遞給 asp.dll 的 get 請求是是以字串的形式,當傳遞給 request.querystring 資料後,asp 解析器會分析request.querystring的資訊,然後根據「&「,分出各個陣列內的資料所以get的攔截如下:

首先我們定義請求中不能包含如下字元:|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare

各個字元用「|「隔開,然後我們判斷的得到的 request.querystring,具體**如下 :

dim sql_injdata

sql_injdata = 「』|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare「

sql_inj = split(sql_injdata,「|「)

if request.querystring<>「「 then

for each sql_get in request.querystring

for sql_data=0 to ubound(sql_inj)

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

response.end

end if

next

next

end if

這樣我們就實現了get請求的注入的攔截,但是我們還要過濾post請求,所以我們還得繼續考慮request.form,這個也是以陣列形式存在的,我們只需要再進一次迴圈判斷即可。**如下:

if request.form<>「「 then

for each sql_post in request.form

for sql_data=0 to ubound(sql_inj)

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

response.end

end if

next

next

end if

好了大功告成,我們已經實現了get和post請求的資訊攔截,你只需要在 conn.asp 之類的開啟資料庫檔案之前引用這個頁面即可。放心的繼續開發你的程式,不用再考慮是否還會受到 sql 注入攻擊了。

通用asp防注入程式

防注入把它加到conn裡這樣就ok了 dim sql injdata sql injdata and exec insert select delete update count chr mid master truncate char declare sql inj split sql injda...

編寫通用的ASP防SQL隱碼攻擊程式

好了,不說廢話了,現在我開始說如果編寫通用的sql防注入程式一般的http請求不外乎get 和 post,所以只要我們在檔案中過濾所有post或者get請求中的引數資訊中非法字元即可,所以我們實現http 請求資訊過濾就可以判斷是是否受到sql注入攻擊。iis傳遞給asp.dll的get 請求是是以...

編寫通用的ASP防SQL隱碼攻擊程式

sql注入被那些菜鳥級別的所謂黑客高手玩出了滋味,發現現在大部分黑客入侵都是基於sql注入實現的,哎,誰讓這個入門容易呢,好了,不說廢話了,現在我開始說如果編寫通用的sql防注入程式一般的http請求不外乎get 和 post,所以只要我們在檔案中過濾所有post或者get請求中的引數資訊中非法字元...

編寫通用的ASP防SQL隱碼攻擊程式

sql注入被那些菜鳥級別的所謂黑客高手玩出了滋味,發現現在大部分黑客入侵都是基於sql注入實現的,哎,誰讓這個入門容易呢,好了,不說廢話了,現在我開始說如果編寫通用的sql防注入程式一般的http請求不外乎get 和 post,所以只要我們在檔案中過濾所有post或者get請求中的引數資訊中非法字元...

編寫通用的ASP防SQL隱碼攻擊程式

sql注入被那些菜鳥級別的所謂黑客高手玩出了滋味,發現現在大部分黑客入侵都是基於sql注入實現的,哎,誰讓這個入門容易呢,好了,不說廢話了,現在我開始說如果編寫通用的sql防注入程式一般的http請求不外乎get 和 post,所以只要我們在檔案中過濾所有post或者get請求中的引數資訊中非法字元...