原文地址:http://www.cnblogs.com/love_study/archive/2010/03/02/1676583.html

一 、简介

xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。

二、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

EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;  
  关闭一样.只是将上面的后面的那个"1"改成"0"就可以了:  
  EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE;

如果提示未能找到存储过程 'master..xp_cmdshell',操作如下:
      第一步执行:EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int
      第二步执行:sp_addextendedproc 'xp_cmdshell','xpsql70.dll'

四、简单应用(创建一个文件夹 并且在里面创建一个数据库)

 go
if exists(select * from sysdatabases where name='bbsDB')
drop database bbsDB
go
Exec xp_cmdshell 'mkdir d:\project' --调用dos命令创建文件夹 create database bbsDB
on
(
name='bbsDB_data',
filename='d:\project\bbsDB_data.mdf',
size=10mb,
filegrowth=20%
)
log on
(
name='bbsDB_log',
filename='d:\project\bbsDB_data.ldf',
size=3mb,
maxsize=20mb,
filegrowth=10%
)

【转】XP_cmdshell存储过程的更多相关文章

  1. SQL注入中利用XP_cmdshell提权的用法(转)

    先来介绍一下子服务器的基本情况,windows 2000 adv server 中文版,据称 打过了sp3,asp+iis+mssql .首先扫描了一下子端口,呵呵,开始的一般步骤. 端口21开放: ...

  2. mssql数据库提权(xp_cmdshell)

    1.关于 "xp_cmdshell" "存储过程":其实质就是一个"集合",那么是什么样的结合呢,就是存储在SqlServer中预先定义好的 ...

  3. sqlmap用户手册 | WooYun知识库

    sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息. 原文:http://drops.wooyun.org/tips/143  ============ ...

  4. sqlmap用户手册

    http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sqlmap这么一个url的时候,它会: 1.判断可注入的参数2.判断可以用那种SQL注入 ...

  5. BCP

    转:(总结) SQL Server Bulk Insert 批量数据导入 DB SQL ServerBulk InsertBCPOPENROWSET格式文件 SQL Server的Bulk Inser ...

  6. SQL Server Bulk Insert批量数据导入

    SQL Server的Bulk Insert语句可以将本地或远程的数据文件批量导入到数据库中,速度非常的快.远程文件必须共享才行,文件路径须使用通用约定(UNC)名称,即"\\服务器名或IP ...

  7. 内网渗透测试思路-FREEBUF

    (在拿到webshell的时候,想办法获取系统信息拿到系统权限) 一.通过常规web渗透,已经拿到webshell.那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接, ...

  8. sqlmap用户手册详解(转)

    http://url/sqlmap/mysql/get_int.php?id=1 当给sqlmap这么一个url的时候,它会: 1.判断可注入的参数 2.判断可以用那种SQL注入技术来注入 3.识别出 ...

  9. 小白日记41:kali渗透测试之Web渗透-SQL手工注入(三)-猜测列名、表名、库名、字段内容,数据库写入

    SQL手工注入 靶机:metasploitable(低)  1.当无权读取infomation_schema库[MySQL最重要的源数据库,必须有root权限]/拒绝union.order by语句 ...

随机推荐

  1. C# Dictionary源码剖析---哈希处理冲突的方法有:开放定址法、再哈希法、链地址法、建立一个公共溢出区等

    C# Dictionary源码剖析 参考:https://blog.csdn.net/exiaojiu/article/details/51252515 http://www.cnblogs.com/ ...

  2. Vs code 设置

    { "git.ignoreMissingGitWarning": true, "terminal.integrated.shell.windows": &quo ...

  3. wireshark显示过滤器的几种用法(转自他人博客)

    本文章转自:http://blog.51cto.com/houm01/1872652 几种条件操作符 ==   eq    等于    ip.addr == 192.168.0.1   ip.addr ...

  4. loading加载的代码

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  5. 自定义ThreadPoolExecutor带Queue缓冲队列的线程池 + JMeter模拟并发下单请求

    .原文:https://blog.csdn.net/u011677147/article/details/80271174 拓展: https://github.com/jwpttcg66/GameT ...

  6. ios-计算时间方法

    -(NSString *)countPublishTime:(NSString *)sDate { NSDate *dtNow = [NSDate date]; NSDateFormatter *da ...

  7. golang json html escape unicode

    https://play.golang.org/p/FAH-XS-QMC https://github.com/gin-gonic/gin/issues/693 package main import ...

  8. 下载并安装oracle 11g客户端

    之所以一直没安装成功是因为找不到安装程序,找到的那些要么没有安装程序,要么安装时出错或者安装后用不了,反正一大堆问题 先给个oracle客户端的下载链接 https://pan.baidu.com/s ...

  9. 客户端代码压缩成zip和服务器开启gzip

     1.我说的zip是打包完的js代码,用压缩工具压缩为zip文件,这样放CDN上,下载量会进一步缩小,提高进入游戏的速度   嗯,需要在游戏页用js解压zip文件  2.最简单的就服务器开启gzip 

  10. React 中的 Component、PureComponent、无状态组件 之间的比较

    React 中的 Component.PureComponent.无状态组件之间的比较 table th:first-of-type { width: 150px; } 组件类型 说明 React.c ...