一、按照常规方法(通用法)
猜解表名→猜解字段→猜解内容→寻找后台→进入后台→找上传页面→上传木马→得SHell
↓ 得SHell←通过上传工具←抓COOKIE←抓包
↓
通过NC上传
↓
得SHell
二、对DB权限的思考
差异备份
备份
Log备份
前置知识:
一、解释几个名词
1.完全备份
备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件,
入侵中DB权限时的思考及备份得到shell原理剖析
。( 在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份,换言之,清除存档属性)。
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’