原文地址: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. 开发工具-Eclipse

    1.Eclipse的视窗和视图概述 - A:视窗 每一个基本的窗体被称为视窗  * PackageExplorer 显示项目结构,包,类,及资源   * Outline 显示类的结构,方便查找,识别, ...

  2. org.apache.commons.lang3.StringUtils中的StringUtils常用方法

    https://my.oschina.net/funmo/blog/615202?p=1 public static void TestStr(){ //null 和 ""操作~~ ...

  3. 【usaco 2006 feb gold】 牛棚安排

    终于自己独立做出来一道题QAQ然而本校数据实在太水不能确定我是不是写对了... 原题: Farmer John的N(1<=N<=1000)头奶牛分别居住在农场所拥有的B(1<=B&l ...

  4. 【vue】遇到的问题

    [一]项目编译的时候报错 npm install npm WARN @mtfe/thrift@2.3.7 requires a peer of thrift@0.11.0 but none is in ...

  5. 使用ipns 为ipfs 系统自定义域名

    ipns 可以帮助我们进行寻址操作,但是默认的hashid 还是太长,不好记忆,ipns 同时也支持 基于域名的解析,我们添加txt 记录就可以方便的解决ipfs 文件访问地址难记的问题,使用的是 一 ...

  6. jumpserver修改默认管理员账号名

    1.安装完毕jumpserver之后,默认管理员账号为admin 显然类似windows的administrator以及linux的root 把账号名改成别的 个人信息界面点击设置 修改为自己想要的用 ...

  7. python + opencv + pycharm +语音生成

    安装puthon 2.7.14(内置pip) pip install numpy pip install opencv-python 安装opencv 3.3.0 进入opencv example目录 ...

  8. Why aren't more desktop apps written with Qt?

    Ref http://programmers.stackexchange.com/questions/88685/why-arent-more-desktop-apps-written-with-qt ...

  9. deque/defaultdict/orderedict/collections.namedtuple()/collections.ChainMap() 笔记

    关于deque的使用 collections.deque([list[, max_length]]) # 不限定长度,可随意添加没有上限 >>> from collections i ...

  10. Linux vi文本编辑器

    vi文本编辑器 1.最基本用法 vi  somefile.4 1/ 首先会进入“一般模式”,此模式只接受各种命令快捷键,不能编辑文件内容 2/ 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是 ...