• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    編寫通用的ASP防SQL注入攻擊程序

    發布: 2008-8-04 10:35 | 作者: 網絡轉載 | 來源: 測試時代采編 | 查看: 94次 | 進入軟件測試論壇討論

    領測軟件測試網 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注入攻擊。難道不是么?

    本欄文章均來自于互聯網,版權歸原作者和各發布網站所有,本站收集這些文章僅供學習參考之用。任何人都不能將這些文章用于商業或者其他目的。( ProgramFan.Com )

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: asp ASP sql SQL Sql 編寫 程序 攻擊


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>