4.2 SQL Server获取webshell及提权基础

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 4.2 SQL Server获取webshell及提权基础

4.2 SQL Server获取webshell及提权基础

主要架构ASP+MSSQL+IIS或者ASP.NET+MSSQL+IIS ,PHP和JSP架构也是支持MSSQL

4.2.1 SQL Server简介

4.2.2 SQL Server版本

  1. SQL Server 2000
  1. SQL Server 2005
  1. SQL Server 2008
  1. SQL Server 2012
  1. SQL Server 2014
  1. SQL Server 2016

4.2.3 sa口令密码获取

  1. webshell或源代码获取

通过翻查conn.aspx, config.aspx, conn.asp, config.asp, config.php, web.config等文件查看数据库连接的密码,

  1. 源代码泄露

获取站点源代码压缩包,很多网站会对整站进行打包,下载以后就能够查看目标站点的源代码

  1. 嗅探

使用Cain,Ettercap等工具嗅探1433数据库端口登录的密码

  1. 口令暴力破解

使用一些MSSQL的暴力破解工具对数据库MSSQL进行暴力破解,一旦暴力破解成功则获取sa的口令

4.2.4 常见SQL Server 基础命令

  1. 创建,使用及删除数据库

(1) 创建数据库bmfx

create database bmfx

(2) 使用数据库bmfx

use bmfx

(3) 删除bmfx数据库

drop database bmfx

  1. 查看所有数据库名称及大小

sp_helpdb

  1. 重命名数据库用的SQL

sp_renamedb'old_dbname', 'new_dbname'

  1. 备份和还原数据库

(1) 备份数据库

backup database [mydb] to disk = n'D:\mydb.bak' with noformat, noinit, name = n'mydb-完整数据库备份', skip, norewind, nounload, stats = 10

(2) 还原数据库

restore database [news] from disk = n'D:\mydb.bak' with file = 1, nounload, stats = 10, replace, move 'test' to 'D:\database\test.mdf', move 'test_log' to 'D:\database\test.ldf'

注意:with后面跟相关参数需要逗哈隔开,可以设置覆盖还原及还原路径等参数

(3) 完整备份TestDB数据库

backup database TestDB to disk = 'C:\Backups\Testdb.bak' with init;go

  1. 收缩或压缩数据库

(1) 查看所有数据大小

dbcc sqlperf(logspace)

(2) 收缩或压缩数据库:

-- 重建索引 DBCC REINDEX DBCC INDEXDEFRAG

-- 收缩数据和日志 DBCC SHRINKDB DBCC SHRINKFILE

-- 压缩数据库 dbcc shrinkdatabase(dbname)

  1. 基本的SQL语句

(1) 选择:select * from table1 where 范围

(2) 插入:insert into table1(field1,field2) values(value1,value2)

(3) 删除:delete from table1 where 范围

(4) 更新:update table1 set field1=value1 where 范围

(5) 查找:select * from table1 where field like '%value1%'

(6) 排序:select * from table1 order by field1,field2 [desc]

(7) 总数:select count as totalcountfrom table1

(8) 求和:select sum(field1) as sumvalue from table1

(9) 平均:select avg(field1) as avgvalue from table1

(10) 最大:select max(field1) as maxvalue from table1

(11) 最小:select min(field1) as minvalue from table1

  1. 字符串处理函数

(1) LTRIM(): 去除字符串头部的空格

(2) RTRIM(): 去除字符串尾部的空格

(3) LEFT (, ): 返回character_expression左起字符

(4) RIGHT (, ): 返回character_expression右起字符

(5) SUBSTRING (, , length): 返回从字符串左边第starting_position个字符起length个字符的部分

(6) CHARINDEX(): 返回字符串中某个指定的字符串出现的开始位置

(7) PATINDEX()

(8) QUOTENAME()

(9) REPLICATE

(10) REVERSE()

(11) REPLACE()

(12) SPACE()

(13) STUFF()

  1. 转换函数

(1) ASCII():返回字符表达式最左端字符的ASCII码值,在ASCII()函数中,纯数字的字符串可不用"引起来;但其他字符的字符串必须用"引起来使用,否则会出错

(2) CHAR() :将ASCII码转换为字符,如果没有输入0-255的ASCII码值,则CHAR()返回NULL

(3) LOWER()和UPPER():LOWER()将字符串全部转换为小写,UPPER()将字符串全部转换为大写

(4) STR() : 把数字型数据转换为字符型数据

(5) CONVERT() :数据类型转换 ([length],[,style])

  1. 日期函数

(1) day(date_expression)

(2) month(date_expression)

(3) year(date_expression)

(4) DATEADD(,,)

(5) DATEDIFF(,date1>)

(6) DATENAME(,)

(7) DATEPART(,)

(8) GETDATE() :以DATETIME的默认格式返回系统当前的日期和时间

4.2.5 常见SQL Server提权命令

  1. 查看数据库的版本

命令如下:

select @@version();

  1. 查看数据库所在服务器操作系统参数

主要显示如下:

ProductName, ProductVersion, Language, Platform, Comments, CompanyName, FileDescription, FileVersion, InternalName, LegalCopyright, LegalTrademarks, OriginalFilename, PrivateBuild, SpecialBuild, WindowsVersion, ProcessorCount, ProcessorActiveMask, ProcessorType, PhysicalMemory和Product ID 等参数信息,其中Platform 显示平台是X86还是X643. 查看数据库启动的参数

exec master..xp_msver;

  1. 查看数据库启动的参数

命令如下:

sp_configure

  1. 查看数据库启动时间

命令如下:

select convert(varchar(30), login_time, 120) from master.. sysprocesses where spid=1

  1. 查看数据库服务器名和实例名

命令如下:

print 'ServerName......:'+convert(varchar(30), @@SERVERNAME)

print 'Instance.....:'+convert(varchar(30), @@SERVICENAME)

  1. 查看用户登录信息

(1) 所有数据库用户登录信息

sp_helplogins

(2) 查看所有数据库用户所属的角色信息:

sp_helpsrvrolemember

(3) 查看某数据库下,对象级用户权限

sp_helprotect

(4) 查看链接服务登录情况

sp_helplinkedsrvlogin

  1. 查看数据库中所有的存储过程和函数

命令如下:

sp_stored_procedures

  1. 查看数据库中用户和进程的信息

(1) 数据库中用户和进程的信息

sp_who

(2) SQL Server 数据库中的活动用户和进程的信息

sp_who'active'

(3) SQL Server 数据库中的锁的情况

sp_lock

  1. 恢复存储过程

命令如下:

大家根据这个关键字网上搜下就有,太多了我就不手打了,主要恢复的dll文件涉及到xplog70.dll, xpstar.dll, odsole70.dll

  1. 开启和关闭xp_cmdshell
  1. xp_cmdshell执行命令
  1. 开启和关闭sp_oacreate
  1. sp_OACreate删除文件
  1. sp_OACreate复制文件
  1. sp_OACreate移动文件
  1. sp_OACreate加管理员用户
  1. 开启和关闭sp_makewebtask
  1. sp_makewebtask新建文件
  1. wscript.shell执行命令
  1. Shell.Application执行命令
  1. 开启和关闭openrowset
  1. 沙盒执行命令
  1. 注册表劫持粘贴键
  1. sp_oacreate替换粘贴键
  1. public权限提权操作
  1. echo一句话后门
  1. MSSQL中查询password

上述具体命令内容大家可以通过上述关键字去网上搜索即可搜到

4.2.6 数据库备份获取webshell

  1. 差异备份
  1. log备份

4.2.7 清除SQL Server日志

SQL Server自带了日志审计功能,对于SQL Server的一些操作都会记录在案,在日常渗透测试之后,需要清理这些痕迹

  1. 查看备份文件历史
  1. 删除media_set_id为13的记录
  1. 删除错误日志及操作日志
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
22小时前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之当 SQL Server 源数据库中的数据更新后,CDC 吐出的操作(op)是怎样的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
11 0
|
2天前
|
SQL XML Linux
SQL Server的版本
【5月更文挑战第14天】SQL Server的版本
18 3
|
2天前
|
SQL 关系型数据库 数据管理
Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
【5月更文挑战第14天】Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
13 2
|
2天前
|
SQL 存储 数据库连接
LabVIEW与SQL Server 2919 Express通讯
LabVIEW与SQL Server 2919 Express通讯
|
2天前
|
SQL Windows
安装SQL Server 2005时出现对性能监视器计数器注册表值执行系统配置检查失败的解决办法...
安装SQL Server 2005时出现对性能监视器计数器注册表值执行系统配置检查失败的解决办法...
14 4
|
2天前
|
SQL 数据可视化 Oracle
这篇文章教会你:从 SQL Server 移植到 DM(上)
这篇文章教会你:从 SQL Server 移植到 DM(上)
|
2天前
|
SQL 关系型数据库 数据库
SQL Server语法基础:入门到精通
SQL Server语法基础:入门到精通
SQL Server语法基础:入门到精通
|
2天前
|
SQL 存储 网络协议
SQL Server详细使用教程
SQL Server详细使用教程
31 2
|
2天前
|
SQL 存储 数据库连接
C#SQL Server数据库基本操作(增、删、改、查)
C#SQL Server数据库基本操作(增、删、改、查)
9 0
|
2天前
|
SQL 存储 小程序
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分了三个逻辑分区。 数据库故障: 数据库文件丢失,主要涉及3个数据库,数千张表。数据库文件丢失原因未知,不能确定丢失的数据库文件的存放位置。数据库文件丢失后,服务器仍处于开机状态,所幸未写入大量数据。
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例