• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    SqlServer中批量替换被插入的木马记录
    最近找了找 批量替换被插入的木马记录,找到了一条好的语句,用处很大,仅仅使用十几行游标语句,把整个数据库的所有表的恶 意木马清除掉了,而且在Google搜索到此记录几率很小,在此专门转载一下!为了以后自己能找得到,也希望后人能得到帮助。
    原文如下:
    复制代码 代码如下:

    declare @t varchar(555),@c varchar(555) ,@inScript varchar(8000)
    set @inScript='恶意代码'
    declare table_cursor cursor for select a.name,b.name 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)
    open table_cursor
    fetch next from table_cursor into @t,@c
    while(@@fetch_status=0)
    begin
    exec('update ['+@t+'] set ['+@c+']=replace(cast(['+@c+'] as varchar(8000)),'''+@inScript+''','''')' )
    fetch next from table_cursor into @t,@c
    end
    close table_cursor
    deallocate table_cursor;

    彻底杜绝SQL注入
    1.不要使用sa用户连接数据库
    2、新建一个public权限数据库用户,并用这个用户访问数据库
    3、[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限
    4、[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×”
    5、通过以下代码检测(失败表示权限正确,如能显示出来则表明权限太高):
    复制代码 代码如下:

    DECLARE @T varchar(255),
    @C varchar(255)
    DECLARE Table_Cursor CURSOR FOR
    Select a.name,b.name 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)
    OPEN Table_Cursor
    FETCH NEXT FROM Table_Cursor INTO @T,@C
    WHILE(@@FETCH_STATUS=0)
    BEGIN print @c
    FETCH NEXT FROM Table_Cursor INTO @T,@C
    END
    CLOSE Table_Cursor
    DEALLOCATE Table_Cursor
    您可能感兴趣的文章:
    • sqlserver 批量数据替换助手V1.0版发布
    • sqlserver replace函数 批量替换数据库中指定字段内指定字符串参考方法
    • 批量替换sqlserver数据库挂马字段并防范sql注入攻击的代码
    • sqlserver 中ntext字段的批量替换(updatetext的用法)
    • SQL Server中对数据截取替换的方法详解
    上一篇:sqlserver 触发器教程
    下一篇:Sqlserver中char,nchar,varchar与Nvarchar的区别分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    SqlServer中批量替换被插入的木马记录 SqlServer,中,批量,替换,被,