即便具有微软 SQL Server 的访问权限,依然会遭到某些数据库组件的“锁”,没法访问下一个层次的数据库“宝库”。此时,撤权技术便派上用处,可以绕过固化的安全屏障,向上提升数据库权限。
MSSQL数据库提权可以从两个方面斟酌:一是具有足够权限可以在系统范围内对对象进行操作;二是针对特定部份配置特定的权限,从而使数据库用户被提升某些特殊的权限。针对区别的提权思路,我们可以选择区别的提权方法。
1.使用系统存储进程:使用系统存储进程是使用MSSQL实现提权的一种方法,其履行的核心是带有可靠的系统级权限的xxp(对操作性代码进行扩大),可以运行系统存储进程sp_addsrvrolemember,使用以下代码:
EXEC master.dbo. sp_addsrvrolemember ‘username’, ‘sysadmin’
2.使用EXECUTE权限:该权限使用者可以将任何具有该权限的存储进程履行,不管该存储进程所需的系统级权限如何,用户只需在特定的数据库上定义该权限,便可对对象具有完全的控制权。此时,可使用以下代码来设置履行权限:
GRANT EXECUTE ON 存储进程名 TO 用户
3.使用歹意代码和预存进程:运行歹意代码和预存进程是另外一种可以实现提权的方法,它可以利用SQL注入重置sysadmin角色,从而完成提权。此时,可使用以下代码来设置角色:
EXEC sp_addsrvrolemember ‘username’, ‘sysadmin
以上三种方法都可以实现MSSQL数据库的提权,但它们各有特点,在使用时应根据具体情况进行选择。千万要注意安全,以避免破坏数据库系统造成没法挽回的损失!
本文来源:https://www.yuntue.com/post/89695.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏