国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

編寫通用的asp防注入程序

2024-05-04 10:58:11
字體:
來源:轉載
供稿:網友
編寫通用的asp防注入程序     選擇自 ph4studio 的 Blog  
關鍵字   編寫通用的asp防注入程序 
出處    

 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.Write "<Script Language=****>alert('天下電影聯盟SQL通用防注入系統提示↓nn請不要在參數中包含非法字符嘗試注入!');history.back(-1)</Script>" 
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.Write "<Script Language=****>alert('天下電影聯盟SQL通用防注入系統提示↓nn請不要在參數中包含非法字符嘗試注入!nnHTTP://www.521movie.com ');history.back(-1)</Script>" 
Response.end 
end if 
next 
next 
end if 
好了大功告成,,我們已經實現了get和post請求的信息攔截,,你只需要在conn.asp之類的打開數據庫文件之前引用這個頁面即可。放心的繼續開發你的程序,,不用再考慮是否還會受到sql注入攻擊。難道不是么?   
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资源县| 大冶市| 烟台市| 都江堰市| 鞍山市| 石狮市| 平遥县| 新津县| 财经| 孝义市| 长丰县| 株洲市| 开平市| 岳阳市| 霞浦县| 灵石县| 白水县| 东乡县| 五河县| 夏河县| 疏附县| 怀化市| 志丹县| 敦化市| 岢岚县| 平邑县| 正镶白旗| 仙居县| 云梦县| 石屏县| 修文县| 连州市| 白水县| 临潭县| 巴南区| 余姚市| 格尔木市| 新蔡县| 稻城县| 棋牌| 分宜县|