sql注入資料庫修復的兩種例項方法

2022-09-28 21:45:23 字數 2028 閱讀 7179

1.第一種情況是 需要將指定的 注入字串全部替換掉(僅替換注入的字串為空)

複製** **如下:

declare @delstr nvarchar(500)   

set @delstr='' --這裡被注入的字段串   

/****************************************/  

/**********以下為操作實體************/   

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&nbydodvsp;  

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

2.第二種是  需要將注入到表中起始位置到最後都刪掉。(此種方法直接找到注入的起始位置,後面的全部刪掉)

複製** **如下:

--恢復被注入資料庫   

--2013-09-26  

declare @delstr nvarchar(500)   

set @delstr='

sql注入資料庫修復方法

1.第一種情況是 需要將指定的 注入字串全部替換掉 僅替換注入的字串為空 declare delstr nvarchar 500 set delstr 這裡被注入的字段串 以下為操作實體 set nocount on declare tablename nvarchar 100 columnname...

SQL資料庫Rownumber 的兩種排序方式

提示。先按乙個字段分組,再按一些字段排序,最後編號。如下 select row number over partition by userip order by inserttime from useraccess 以上就是sql server資料庫row number over 來自動產生行號的過...

SQL資料庫修復 資料庫置疑修復

sql資料庫修復的三大核心技術 1 磁碟陣列分析重組技術 2 資料庫恢復與修復技術 3 scsi盤物理故障開盤技術。至今已經成功恢復數百台伺服器的sql資料庫,使用者覆蓋全國。導致sql資料庫丟失的原因 1 各種原因 誤刪除 誤格式化 斷電等造成的ms sql server資料庫檔案破壞。2 ms ...