昨天看了存储过程的一点东西,其中就说到了xp_cmdshell 这个东西,以前只是知道黑客能通过MSSQL的漏洞来入侵你的系统,不是太明白。当知道了xp_cmdshell 的强大之后,试了一下,有点开窍了,下面是这方面的一点东西。
xp_cmdshell可以让系统管理员以操作系统命令行解释器的方式执行给定的命令字符串,
并以文本行方式返回任何输出,是一个功能非常强大的扩展存贮过程。
一般情况下,xp_cmdshell对管理员来说也是不必要的,xp_cmdshell的消除不会对Server造成
任何影响。
可以将xp_cmdshell消除:
Use Master
Exec sp_dropextendedproc N’xp_cmdshell’
Go
如果需要的话,可以把xp_cmdshell恢复回来:
Use Master
Exec sp_addextendedproc N’xp_cmdshell’, N’xplog70.dll’
Go
xp_cmdshell 操作系统命令外壳
这个过程是一个扩展存储过程,用于执行指定命令串,并作为文本行返回任何输出。
语法:
xp_cmdshell command_string[,no_output]
command_string 要执行的命令串
no_output 不返回命令执行的输出
说明:
在把xp_cmdshell的执行许可权授予用户时,用户将能够在Windows NT命令
外壳执行运行SQL Server(通常是本地系统)的帐号有执行特权的任何
操作系统命令。
例:
1、EXEC master..xp_cmdshell "dir *.exe"
返回可执行文件的列表
2、EXEC master..xp_cmdshell "copy d:\test1.jpg e:\" no_output
不返回输出
3、特别是执行
EXEC master..xp_cmdshell "net start awhost32"
EXEC master..xp_cmdshell "net stop awhost32"
可以启动和停止远程的PCAnywhere服务。对远程服务器操作很有帮助。
最后提醒大家,注意你的系统的安全,保护自己,提高警惕。
相关文章
- springboot前端ajax 04 关于后台传的时间和状态在前端的转换
- 关于SQL优化的几点说明
- 关于Docker时的权限问题解决dial unix /var/run/docker.sock: connect: `permission denied`
- 关于在parallelstream中对数据库进行增删改造成死锁问题的处理
- #yyds干货盘点 【React工作记录十五】关于ant design中input限制加空格的问题
- 关于WPF打印的问题
- 解析关于Tomcat Servlet-request的获取请求参数及几种常用方法
- 关于cmd 命令行运行java文件的错误:找不到或无法加载主类
- 关于java类初始化顺序的学习笔记
- Java学习笔记(十三):关于子类初始化的过程