批量处理sql注入代码sql2005

最近网站老是被攻击,sql注入,他NND,搞死滴人,就是找不到注入的入口,90个表,开始也没当回事,一个表一个表的去替换注入sql,现在知道问题大了,隔个把月来一次,暂时还没找到解决办法,只能兵来将挡水来土掩,写个sql,批量解决,下面是sql语句,

很简单,只要你熟悉系统表结构关系就很容易搞定,这个问题只需要两个系统表关联即可,sys.sysobjects和sys.syscolumns,关联字段:id 

第一步:筛选特定数据库,只需要在第一句加上

use 数据库名称
go

第二步:找到数据库下所有用户表

select * from sys.sysobjects where xtype='u'

第三步:找到表下面的所有字段(对于sql注入,一般都是指字符串字段)

select * from sys.syscolumns where id=@table_id and (xtype=167 or xtype=231)

 

方法一:

后面的步骤就不多说了,只是记录日志,不是写文章,代码贴出来,方便以后用。希望也能给各位朋友带来方便

Code

存在的问题:

执行改存储过程,数据表每个字段都会去替换,不管有没有被注入,效率不咋滴。希望大家能继续完善

执行结果展示:

 


方法二:
最近在网上看到了一个更好的办法,通过游标:

Code
原文地址:https://www.cnblogs.com/di305449473/p/1432591.html