国产精品一品二品_49vv亚洲_亚洲美女激情视频_国产成人亚洲无吗淙合青草_欧美在线天堂_人妻av无码av中文av日韩av_av在线播放免费_91亚洲精品在线观看_韩国 欧美 日产 国产精品_久久人人爽

在線客服:  

「南寧煙寒網絡」提供南寧網站建設、網站策劃、南寧網頁制作、網站設計、網站改版、南寧SEO優化、網站維護、南寧網站優化、南寧網站推廣、廣告設計等服務..

咨詢熱線

在線客服

24小時免費咨詢電話:18978941786

客服時間:上午9:30~下午6點

當前位置:首頁>>服務中心 >> 常見問題 >> 數據掛馬如何處理及處理方法

數據掛馬如何處理及處理方法

收藏 分享 發布日期:2012-2-12 16:32:53    編輯:admin  文章來源:煙寒網絡  點擊率:

數據庫被掛馬我相信很多人都碰到過。在這里,我講下我處理的方法。

第一步:為現有數據庫做好備份。

第二步

執行如下ASP文件,這樣就可以去掉數據庫當中的JS木馬:
注:conn.asp自己去寫了。

'這里放入JS木馬內容:請記得改為自己數據庫中的JS木馬內容。
<!--#include file="conn.asp"-->
<%
Server.ScriptTimeOut=180
Set rstSchema = conn.OpenSchema(20)
k=1
Do Until rstSchema.EOF '遍歷數據庫表
    If rstSchema("TABLE_TYPE")="TABLE" Then
        response.write K&".<font color=red><b>"&rstSchema("TABLE_NAME") & "</b></font>:" '顯示表名
        Set rs=Server.CreateObject("ADODB.Recordset")
        sql="select * from [" & rstSchema("TABLE_NAME")&"]"
        rs.open sql,conn,1,3
        For i=0 to rs.fields.count-1 '遍歷表中字段
           If int(rs(i).Type)=129 or int(rs(i).Type)=130 or int(rs(i).Type)=200 or int(rs(i).Type)=201 or int(rs(i).Type)=202 or int(rs(i).Type)=203 Then'只處理字段類型為字符型的字段
            conn.execute("update ["&rstSchema("TABLE_NAME")&"] set "&rs(i).name&" =replace(cast("&rs(i).name&" as varchar(8000)),'這里放入JS木馬內容','')")
            response.write rs(i).name &" "&rs(i).Type &" "'顯示執行過的字段名。
          End If
        Next
        response.write "<br>"
    End If
    rstSchema.MoveNext
    k=k+1
Loop
response.Write "執行成功"
%>

如果數據庫表很多的話,上面的遍歷數據庫結構未執行完就被IIS給停止了。在這時候可以在

If rstSchema("TABLE_TYPE")="TABLE" Then

當中適當加入k值的范圍,如:

If rstSchema("TABLE_TYPE")="TABLE" k>10 and k<20 Then

這樣的話就一次只操作9個表。

第三步

根據數據庫JS注入的特性(會包括<script、</script>和http://這樣的字符),
在conn.asp里面放入如下代碼:

 

Function Cheack_Sqljs()'防止數據庫外鏈JS注入:true為發現外鏈JS注入。
    Dim F_Post,F_Get
    Cheack_Sqljs=False
    If Request.Form<>"" Then'表單提交時的檢測
        For Each F_Post In Request.Form
            If (Instr(LCase(Request.Form(F_Post)),"<script")<>0 or Instr(LCase(Request.Form(F_Post)),"</script>")<>0) and Instr(LCase(Request.Form(F_Post)),"http://")<>0 Then
                Cheack_Sqljs=True
                Exit For
            End If
        Next
    End If
    If Request.QueryString<>"" Then'QueryString提交時的檢測
        For Each F_Get In Request.QueryString
            If (Instr(LCase(Request.Form(F_Get)),"<script")<>0 or Instr(LCase(Request.Form(F_Get)),"</script>")<>0) and Instr(LCase(Request.Form(F_Get)),"http://")<>0 Then
                Cheack_Sqljs=True
                Exit For
            End If
        Next
    End If
End Function
Function CheckDataFrom()'檢查提交數據來源:True為數據從站外提交過來的
    CheckDataFrom=True
    server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
    server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
    if mid(server_v1,8,len(server_v2))<>server_v2 then
        CheckDataFrom=False
    end if
End Function
If Cheack_Sqljs or CheckDataFrom Then
   Response.Write "<Script Language=JavaScript>alert('禁止執行,非法操作。');</Script>"
   Response.End()
End If

本文章由南寧網站建設南寧網站優化南寧網絡公司整理,轉載請注明出處:http://www.hjnf.com.cn/

關于我們 | 域名主機 | 建站套餐 | 企業動態 | 成功案例 | 網站推廣 | 建站知識 | 常見問題 | 聯系我們

南寧煙寒網絡竭誠為您免費提供南寧網站建設南寧網站設計南寧網站優化、維護以及網站技術很方面的網絡服務!

南寧網站建設南寧網絡公司咨詢熱線電話:0771-5306126 18967841786(24小時全天電話)

煙寒網絡 - 讓你進一步走向成功

主站蜘蛛池模板: 潞城市| 民乐县| 昌吉市| 探索| 尤溪县| 襄樊市| 南平市| 南通市| 彭阳县| 奉新县| 平远县| 朝阳区| 分宜县| 兰坪| 哈巴河县| 阿拉善左旗| 夏河县| 阳江市| 女性| 玉环县| 邢台县| 手游| 合肥市| 金寨县| 南通市| 馆陶县| 南安市| 雷山县| 诏安县| 丽水市| 嘉定区| 大同县| 崇仁县| 喜德县| 靖宇县| 广宗县| 怀仁县| 阿拉善盟| 舞钢市| 永安市| 边坝县|