本文我们详细介绍了ASP数据库被挂木马的详细解决方案之编程处理的方法,解决方案分为以下三步:

***步:
为现有数据库做好备份。
第二步:
执行如下ASP文件,这样就可以去掉数据库当中的JS木马:
注:conn.asp自己去写了。
'这里放入JS木马内容:请记得改为自己数据库中的JS木马内容。
- <%
 - Server.ScriptTimeOut=180 Set rstSchema = conn.OpenSchema(20)
 - k=1
 - Do Until rstSchema.EOF '遍历数据库表
 - If rstSchema("TABLE_TYPE")="TABLE" Then
 - response.write K&"."&rstSchema("TABLE_NAME") & ":" '显示表名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 "
 
"- End If
 - rstSchema.MoveNext
 - kk=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注入的特性(会包括")<>0)
关于ASP数据库被挂木马时的编程处理方法就介绍到这里了,希望本次的介绍能够带给您一些收获,谢谢!
【编辑推荐】
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号