国产免费资源_免费中文字幕视频_国产乱xxxxx97国语对白_成人免费高清视频_com毛片_天堂网在线播放_欧美精品网站_亚洲 丝袜 制服 欧美 另类_国产免费无码一区二区_久久高清免费视频

在線客服:  

「南寧煙寒網絡」提供南寧網站建設、網站策劃、南寧網頁制作、網站設計、網站改版、南寧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.yu-168.cn/

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

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

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

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

主站蜘蛛池模板: 临沭县| 轮台县| 井陉县| 禹城市| 建阳市| 湛江市| 沙湾县| 剑川县| 博兴县| 太和县| 开原市| 朔州市| 吉木乃县| 犍为县| 齐河县| 余庆县| 通河县| 万州区| 吐鲁番市| 宿州市| 丰城市| 襄樊市| 濮阳县| 湘潭市| 永州市| 汉阴县| 东城区| 山阳县| 江永县| 突泉县| 贞丰县| 平利县| 尉氏县| 昌都县| 郧西县| 涪陵区| 焦作市| 松原市| 股票| 施秉县| 江津市|