亚洲今日精彩视频_精品一级黄色_免费一级A片在现观看视频_8050福利视频 - 一级免费黄色片

首頁 新聞資訊 技術(shù)文章
通用的ASP防SQL注入攻擊程序
    SQL注入是黑客攻擊的常用手段,那么如何預(yù)防呢,現(xiàn)在我開始說如果編寫通用的SQL防注入程序一般的http請求不外乎get 和 post,所以只要我們在文件中過濾所有post或者get請求中的參數(shù)信息中非法字符即可,所以我們實(shí)現(xiàn)http 請求信息過濾就可以判斷是是否受到SQL注入攻擊。

  IIS傳遞給asp.dll的get 請求是是以字符串的形式,,當(dāng) 傳遞給Request.QueryString數(shù)據(jù)后,asp解析器會(huì)分析Request.QueryString的信息,,然后根據(jù)"&",分出各個(gè)數(shù)組內(nèi)的數(shù)據(jù)所以get的攔截如下:

  首先我們定義請求中不能包含如下字符:

'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare

  各個(gè)字符用"|"隔開,,然后我們判斷的得到的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('天下電影聯(lián)盟SQL通用防注入系統(tǒng)提示↓nn請不要在參數(shù)中包含非法字符嘗試注入!');history.back(-1)</Script>"
    Response.end
   end if
  next
 Next
End If

  這樣我們就實(shí)現(xiàn)了get請求的注入的攔截,但是我們還要過濾post請求,所以我們還得繼續(xù)考慮request.form,這個(gè)也是以數(shù)組形式存在的,我們只需要再進(jìn)一次循環(huán)判斷即可。代碼如下:

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('天下電影聯(lián)盟SQL通用防注入系統(tǒng)提示↓nn請不要在參數(shù)中包含非法字符嘗試注入!nnHTTP://www.521movie.com ');history.back(-1)</Script>"
    Response.end
   end if
  next
 next
end if

  好了大功告成,我們已經(jīng)實(shí)現(xiàn)了get和post請求的信息攔截,其他也依次類推。你只需要在conn.asp之類的打開數(shù)據(jù)庫文件之前引用這個(gè)頁面即可。
版權(quán)所有:武漢網(wǎng)福互聯(lián)科技有限公司    鄂ICP備09022096號(hào)
業(yè)務(wù)QQ:23444550 客服QQ:267052100 電郵:23444550@qq.com  

鄂公網(wǎng)安備 42010602000905號(hào)

手機(jī)站二維碼