編寫通用的asp防注入程式 選擇自 ph4studio 的 Blog

來源:互聯網
上載者:User
程式|防注入|防注入 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注入攻擊。難道不是嗎?



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.