摘要:
下文主要讲述超级危险的sql系统存储过程xp_cmdshell的简介,如下所示:
实验环境:sql server 2008 R2
xp_cmdshell功能说明
xp_cmdshell 使用此系统存储过程,我们可以在sql脚本中运行cmd命令,并返回相应的输出结果,
由于cmd命令属于操作系统管理范畴的命令,所以此命令通常情况下会被关闭,
因为黑客可以通过运行此命令,在服务器上建立用户名、上传文件等等有害行为
xp_cmdshell语法说明
xp_cmdshell ‘命令内容’
—xp_cmdshell返回值说明—
将采用列表的形式返回命令执行的结果
xp_cmdshell举例应用
1.获取d盘所有目录
exec xp_cmdshell 'dir D:\'
2.写入信息至相应的文件中
DECLARE @maomaoA sysname, @maomaoB sysname SET @maomaoB = '测试文件写入' SET @maomaoA = 'echo ' + @maomaoB + ' > D:/test.txt' EXEC master..xp_cmdshell @maomaoA
3.将c盘的testA.txt文件复制到d盘testB.txt
USE master go EXEC xp_cmdshell 'copy c:\testA.txt d:\testB.txt'
4.将返回内容插入至临时表中
use master go create table #maomao(info sysname null) go insert into #maomao (info) exec xp_cmdshell 'dir D:\' go select *from #maomao go truncate table #maomao drop table #maomao