入侵中DB权限时的思考及备份得到shell原理剖析 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    一、按照常规方法(通用法)

    猜解表名→猜解字段→猜解内容→寻找后台→进入后台→找上传页面→上传木马→得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’

最新文章