一、按照常规方法(通用法)
猜解表名→猜解字段→猜解内容→寻找后台→进入后台→找上传页面→上传木马→得SHell ↓ 通过NC上传 ↓ 得SHell
二、对DB权限的思考
差异备份
备份 Log备份
前置知识:
一、解释几个名词 1.完全备份 备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件。 ( 在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份,换言之,清除存档属性)。
2.差异备份 差异备份是针对完全备份:备份上一次的完全备份后发生变化的所有文件。 (差异备份过程中,只备份有标记的那些选中的文件和文件夹。它不清除标记,既:备份后不标记为已备份文件,换言之,不清除存档属性)。
3.增量备份 增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件。 (增量备份过程中,只备份有标记的选中的文件和文件夹,它清除标记,既:备份后标记文件,换言之,清除存档属性。)
4.Log备份 导出日志文件到web目录来获得shell,LOG备份得到的WEBSHELL文件小,大大增加了成功率。
二、了解备份基础知识 1. 获取SQL Server服务器上的默认目录
2. 备份SQL语句的使用
3. 恢复SQL语句的使用
4. 作业创建SQL语句的使用
相关知识: 1.得到数据库的文件目录
2.备份数据库
/*–调用示例
–备份当前数据库 exec p_backupdb @bkpath=‘c:’,@bkfname=‘db_\DATE_db.bak’
–差异备份当前数据库 exec p_backupdb @bkpath=‘c:’,@bkfname=‘db_\DATE_df.bak’,@bktype=‘DF’
–备份当前数据库日志 exec p_backupdb @bkpath=‘c:’,@bkfname=‘db_\DATE_log.bak’,@bktype=‘LOG’
@dbname sysname=’’, --要备份的数据库名称,不指定则备份当前数据库 @bkpath nvarchar(260)=’’, --备份文件的存放目录,不指定则使用SQL默认的备份目录 @bkfname nvarchar(260)=’’, --备份文件名,文件名中可以用\DBNAME\代表数据库名,\DATE\代表日期,\TIME\代表时间 @bktype nvarchar(10)=‘DB’, --备份类型:'DB’备份数据库,‘DF’ 差异备份,‘LOG’ 日志备份 @appendfile bit=1 --追加/覆盖备份文件
3.恢复数据库
/*–调用示例 –完整恢复数据库 exec p_RestoreDb @bkfile=‘c:\db_20060624_db.bak’,@dbname=‘db’
–差异备份恢复 exec p_RestoreDb @bkfile=‘c:\db_20060624_db.bak’