一、简介
xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。
二、安全隐患
由于xp_cmdshell 可以执行任何操作系统命令,所以一旦SQL Server管理员帐号(如sa)被攻破,那么攻击者就可以利用xp_cmdshell 在SQL Server中执行操作系统命令,如:创建系统管理员,也就意味着系统的最高权限已在别人的掌控之中。
三、SQL Server 2005中的xp_cmdshell
由于存在安全隐患,所以在SQL Server 2005中, xp_cmdshell 默认是关闭的。
此时,如果执行 xp_cmdshell 将会提示服务未开启:
exec xp_cmdshell 'dir c:\'
消息 15281,级别 16,状态 1,过程 xp_cmdshell,第 1 行
SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
四、开启xp_cmdshell
打开外围应用配置器—>
功能的外围应用配置器—>
实例名\Database Engine\xp_cmdshell—>
启用
五、使用xp_cmdshell
显示C盘根目录下的所有目录和文件:
exec xp_cmdshell 'dir c:\'
output
------------------------------------------------------------------------
驱动器 C 中的卷没有标签。
卷的序列号是 F8C5-1B8C
NULL
c:\ 的目录
NULL
2007-01-29 14:08 0 AUTOEXEC.BAT
2007-01-29 14:08 0 CONFIG.SYS
2007-01-29 14:20 <DIR> dell
2007-01-29 14:13 <DIR> Documents and Settings
2007-07-11 09:57 <DIR> Inetpub
2007-07-11 14:31 <DIR> Program Files
2007-06-07 07:35 <DIR> TEMP
2007-07-05 15:08 1,506 testout.txt
2007-07-05 15:10 1,506 testout01.txt
2007-07-11 13:32 <DIR> WINDOWS
2007-01-29 14:09 <DIR> wmpub
2007-06-25 15:00 <DIR> ~CUL2
4 个文件 3,012 字节
8 个目录 420,556,800 可用字节
NULL
(20 行受影响)
分享到:
相关推荐
【SQL Server中的xp_cmdshell扩展存储过程】 在SQL Server中,`xp_cmdshell`是一个非常特殊的扩展存储过程,它允许数据库管理员(DBA)在服务器级别执行操作系统命令。这个过程的强大之处在于它能够直接与Windows...
在SQL Server中,`xp_cmdshell`是一个非常强大的系统存储过程,它允许数据库管理员执行操作系统级别的命令,并将结果返回到SQL Server环境中。然而,出于安全考虑,`xp_cmdshell`默认是禁用的,因为不恰当的使用可能...
### MS SQL入侵(小心 xp_cmdshell) 在网络安全领域,针对数据库系统的攻击日益增多,其中针对Microsoft SQL Server(简称MS SQL)的攻击尤为突出。MS SQL是微软开发的一款关系型数据库管理系统,广泛应用于企业级...
然而,这里我们要讨论的是SQL Server中的一个特定功能,即`sys.xp_cmdshell`存储过程的使用方法、用途以及需要注意的要点。 `sys.xp_cmdshell`是SQL Server中的一个扩展存储过程,允许数据库管理员在服务器上执行...
XP_CMDSHELL存储过程是执行本机的CMD命令,要求系统登陆有SA权限,也就是说如果获得SQLSERVER的SA命令,那就可以在目标机为所欲为了,知名软件“流光”使用的应该也是这个存储过程来实现在目标机上的操作。
条件 所谓利用数据进行提权,利用的其实是数据库的运行权限,所以只要我们满足以下条件即可进行提权: ... 2、 必须可以以某种方式执行sql语句,例如:webshell或者是1433端口的连接。 提权基本思路过程与原理 ...
开启SQL 的xp_cmdshell脚本
未能找到存储过程 `master..xpcmdshell` **问题描述**:当尝试执行`xp_cmdshell`时,可能遇到“未能找到存储过程”的错误。 **恢复方法**: - 第一步:执行 `EXEC sp_addextendedproc xp_cmdshell, @dllname = '...
SQLServer阻止了对组件'xp_cmdshell'的过程'sys.xp_cmdshell'的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用sp_configure启用'xp_cmdshell'。有关启用'xp_cmdshell'的详细...
### sa权限下无xp_cmdshell下取权限又一简单方法 在SQL Server环境中,当拥有最高权限(sa)但无法使用扩展存储过程`xp_cmdshell`时,可以通过其他技术实现对系统权限的获取或文件操作等功能。本文将详细介绍一种...
xp_cmdshell开启与关闭 xp_cmdshell是一种功能强大的扩展存储过程,允许系统管理员以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。该扩展存储过程可以让管理员以命令行方式执行...
解决这个问题的一种方法是通过SQL Server中的`xp_cmdshell`扩展存储过程来注销Windows登录用户。 `xp_cmdshell`是SQL Server提供的一种高级功能,它允许管理员执行操作系统级别的命令。使用`xp_cmdshell`,我们可以...
1、SQL Server 2016开启xp_cmdshell执行SELECT * FROM sys.configurations WHERE name='xp_
MSSQL SERVER 2005默认把xpcmdshell 给ON了 如果要启用的话就必须把他加到高级用户模式 可以直接在注入点那里直接注入 id=5;EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC sp_...
一、先开启xp_cmdshell 打开外围应用配置器—> 功能的外围应用配置器—> 实例名\Database Engine\xp_cmdshell—> 启用 二、解决方法 use master Exec xp_cmdshell 'mkdir d:\csj' --调用dos命令创建文件夹,(执行...
开启和关毕xp_cmdshell EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC sp_configure ‘xp_cmdshell’, 1;RECONFIGURE;– 开启xp_cmdshell EXEC sp_configure ‘show advanced options’, 1;...