批量处理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

 

存在的问题:

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

 

执行结果展示:

批量处理sql注入代码--sql2005_第1张图片 


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

Code

 

你可能感兴趣的:(sql2005)