最近因为某同学以前做的一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版本.其它版本未做过测试

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

相关文章:

  • 2021-11-01
  • 2021-11-05
  • 2021-11-01
  • 2021-11-01
  • 2021-11-01
  • 2018-05-09
  • 2021-11-12
  • 2021-12-23
猜你喜欢
  • 2021-11-15
  • 2021-12-04
  • 2021-12-14
  • 2021-11-19
  • 2019-09-09
  • 2021-11-20
  • 2022-01-07
  • 2021-11-14
相关资源
相似解决方案