SQL Server 数据库被注入解决方案
2022-11-12 09:52:56
内容摘要
这篇文章主要为大家详细介绍了SQL Server 数据库被注入解决方案,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
代码如下:
declare @d
文章正文
这篇文章主要为大家详细介绍了SQL Server 数据库被注入解决方案,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <code> declare @delStr nvarchar(500) set @delStr= '<script src=http://www.kansm.com/js/common.js></script>' --这里被注入的字段串 /****************************************/ /**********以下为操作实体************/ set nocount on declare @tableName nvarchar(100),@columnName nvarchar(100),@tbID int,@iRow int,@iResult int declare @sql nvarchar(2000) set @iResult=0 declare cur cursor for select name,id from sysobjects where xtype= 'U' open cur fetch next from cur into @tableName,@tbID while @@fetch_status=0 begin declare cur1 cursor for select name from syscolumns where xtype in (231,167,239,175, 35, 99) and id=@tbID open cur1 fetch next from cur1 into @columnName while @@fetch_status=0 begin set @sql= 'update [' + @tableName + '] set [' + @columnName + ']= SUBSTRING([' + @columnName + '],' + '1, PATINDEX( ' '%' + @delStr + '%' ', [' + @columnName + '])-1) + ' + 'SUBSTRING([' + @columnName + '], PATINDEX( ' '%' + @delStr + '%' ', [' + @columnName + ']) + ' + 'len(' '' + @delStr + '' ') , datalength([' + @columnName + '])) where [' +@columnName+ '] like ' '%' +@delStr+ '%' '' exec sp_executesql @sql set @iRow=@@rowcount set @iResult=@iResult+@iRow if @iRow>0 begin print '表:' +@tableName+ ',列:' +@columnName+ '被更新' +convert(varchar(10),@iRow)+ '条记录;' end fetch next from cur1 into @columnName end close cur1 deallocate cur1 fetch next from cur into @tableName,@tbID end print '数据库共有' +convert(varchar(10),@iResult)+ '条记录被更新!!!' close cur deallocate cur set nocount off </code> |
注:关于SQL Server 数据库被注入解决方案的内容就先介绍到这里,更多相关文章的可以留意
代码注释