当前位置: 首页 > 图文教程 > 数据库 > 数据库技巧 > 恢复 SQL 被注入后的数据代码

数据库技巧
数据库删除完全重复和部分关键字段重复的记录
SQL服务器面临的危险和补救.读[十种方法]后感.
SQLite不支持Right Join的解决办法GROUP BY
mssql注入躲避IDS的方法
本地SQL注射攻略分析曝光
数据库 左连接 右连接 全连接用法小结
以前架征途时的合区的SQL语句代码备份
sql语句中where 1=1的作用
dba_indexes视图的性能分析
推荐Sql server一些常见性能问题的解决方法
带参数的sql和不带参数的sql存储过程区别
SQL语句详细说明[部分]
PostgreSQL8.3.3安装方法
三表左连接查询的sql语句写法
MSSQL自动同步设置方法
mssql数据同步实现数据复制的步骤
SQL嵌套查询总结
sql2005可实时监测数据库版本控制SQL的触发器
sql 中将日期中分秒化为零的语句
SQL 注入式攻击的本质

数据库技巧 中的 恢复 SQL 被注入后的数据代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 51 ::
收藏到网摘: n/a

当数据库别批量注入挂马后,需要批量替换掉,可以参考下面的代码。 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Inc/conn.asp"-->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
server.ScriptTimeout = 1000000
'xtype=99 ntext 与text类型相似,不同的是,ntext类型采用unicode标准字符集。
'xtype=35 text 用于存储大量文本数据。
'xtype=231 nvarchar 用来定义可变长度的二进制数据,最大长度为4000个字符。
'xtype=167 varchar 存储最常可以达到8000个字符的变长的字符数据
str = "'<script src="http://e6t.3322.org/c.js" src="http://e6t.3322.org/c.js"></script>'" '加在文本类型字段后的木马代码
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("已经初步清理了挂马数据,请重新刷新页面试试看!")
%>