MSSQL数据库全库批量替换

最近因为某同学以前做的一Asp站点被攻击挂马,所以叫我帮忙检查一下,发现是被SQL注入所致.这些坏人把数据库文本型的字段都加了一段js调用的代码.
于是需要批量替换掉,可以用游标的系统存储过程 sp_MSforeach_Worker 处理
批处理SQL脚本如下
DECLARE   @fieldtype  sysname
SET   @fieldtype = ' nvarchar '
--  @filedtype 的值可以为 varchar 和 nvarchar 
--
 西狐注
DECLARE  hCForEach  CURSOR  GLOBAL
FOR
SELECT  N ' update  ' + QUOTENAME (o.name)
    
+ N '  set   ' +   QUOTENAME (c.name)  +  N '  = replace( '   +   QUOTENAME (c.name)  +   ' , '' <script src=http://木马网站/0.js></script> '' , '''' ) '
FROM  sysobjects o,syscolumns c,systypes t
WHERE  o.id = c.id 
    
AND   OBJECTPROPERTY (o.id,N ' IsUserTable ' ) = 1
    
AND  c.xusertype = t.xusertype
    
AND  t.name = @fieldtype
EXEC  sp_MSforeach_Worker  @command1 = N ' ? '
此同学的MSSQL数据为2000版本.其它版本未做过测试

哎顺便感叹一下那些挂木马的大哥们怎么这么没有人道啊.

转载于:https://www.cnblogs.com/hooyes/archive/2009/08/06/mssql_replace_sql.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值