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

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

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

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

    Dreamweaver中sql注入式攻擊的防范

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

    領測軟件測試網  Dreamweaver+ASP可視化編程門檻很低,新手很容易上路。在很短的時間里,新手往往就已經能夠編出看來比較完美的動態網站,在功能上,老手能做到的,新手也能夠做到。那么新手與老手就沒區別了嗎?這里面區別可就大了,只不過外行人很難一眼就看出來罷了。界面的友好性、運行性能以及網站的安全性方面是新手與老手之間區別的三個集中點。

    在安全性方面,新手最容易忽略的問題就是SQL注入漏洞的問題。用NBSI 2.0對網上的一些ASP網站稍加掃描,就能發現許多ASP網站存在SQL注入漏洞。

    所謂SQL注入(SQL injection),就是利用程序員對用戶輸入數據的合法性檢測不嚴或不檢測等設計上的漏洞,故意從客戶端提交特殊的代碼(SQL命令),收集程序及服務器的信息,獲取想得到的資料而進行的攻擊。

    可見Sql注入攻擊得逞的主要原因沒有對用戶輸入的數據進行驗證,可以從客戶端動態生成Sql命令。
    一般的http請求不外乎get 和 post,所以只要我們在程序中過濾所有post或者get請求的參數信息中非法字符,即可實現防范SQL注入攻擊。

    遺憾的是DW并沒有提供相關代碼,因此要想防范SQL注入式攻擊就需要手工修改,
    只要將下面的程序保存為SQLinjection.asp,然后在需要防注入的頁面頭部調用
    <!--#Include File="SQLinjection.asp"-->
    就可以做到頁面防注入.

    如果想整站防注,就在DW生成的Connections目錄下的數據庫連接文件中添加頭部調用或直接添加下面程序代碼,需要注意的是,在添加到數據庫連接文件中,可能在后臺表單添加文章等內容時,如遇到SQL語句系統會誤認為SQL攻擊而提示出錯。

    通用程序代碼(引自網絡做適當更改)如下:

    <%
    '--------定義部份------------------
    dim sql_injdata
    SQL_injdata = "'|and|exec|insert|select|delete
    |update|count|*|%|chr|mid|master|truncate|char
    |declare|1=1|1=2|;"
    SQL_inj = split(SQL_Injdata,"|"

    '--------POST部份------------------
    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=JavaScript>
    alert('系統提示你!\n\n請不要在參數中包含非法字符嘗試注入!\n\n');window.location="&"'"&"index.htm"&"'"&";</Script>"
    Response.end
    end if
    next
    Next
    End If

    '--------GET部份-------------------
    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=JavaScript>
    alert('系統提示你!\n\n請不要在參數中包含非法字符嘗試注入!\n\n');window.location="&"'"&"index.htm"&"'"&";</Script>"
    Response.end
    end if
    next
    next
    end if
    %>


    通過上面的程序,就可以實現抵御從Get方法或Post方法提交的危險SQL注入字符,并警告入侵者后轉向到index.htm(首頁)。

    延伸閱讀

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

    TAG: sql SQL Sql 攻擊 注入式 Dreamweaver


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>