zoukankan      html  css  js  c++  java
  • 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版本.其它版本未做过测试

    哎顺便感叹一下那些挂木马的大哥们怎么这么没有人道啊.
  • 相关阅读:
    0806 c#总复习
    0804 递归
    0808 html基础
    0803结构体,枚举类型
    0801out传值
    0731函数
    0730特殊集合
    0728多维数组,ArrayList集合
    js 获取url链接的任意参数
    jq dom操作
  • 原文地址:https://www.cnblogs.com/hooyes/p/mssql_replace_sql.html
Copyright © 2011-2022 走看看