了解mssql数据库

0x00前言介于这段时间比较忙,所以博客的更新也比较慢。本来想前几天就发这个mssql数据库的,但是因为mssql的结构比较复杂,利用方式也比较多,所以又去深入研究了一下mssql的数据库结构和各

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

0x00   前言

介于这段时间比较忙,所以博客的更新也比较慢。本来想前几天就发这个mssql数据库的,但是因为mssql的结构比较复杂,利用方式也比较多,所以又去深入研究了一下mssql的数据库结构和各类的利用方式,以前都是工具一顿唆没有深入去研究过一些手工注入。

0x01  了解mssql数据库

这里说的mssql也就是我们的sqlserver数据库

美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。
(1)高性能设计,可充分利用WindowsNT的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采用各种方法保证数据的完整性。
(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。

上面是百度百科的资料。

mssql和sqlserver有着很大的不同,sqlserver的结构比较复杂,注入语句也比较复杂。但是如果在注入当中数据库是采用sa用户来运行的,那么我们就可以很轻松的拿下webshell。mssql可以直接启用存储过程来执行命令。

我们来看一下mssql的系统自带数据库的作用。

了解mssql数据库

 

 

 

master 数据库存放着一切对象的信息,sa或者其他用户的密码 以密文存储
model: 存在创建用户数据库的模板
msdb:用户数据库,存放所有的任务调度
tmpdb:临时数据库,在注入时候如果受限制显示位,存在在某表里面,然后再爆数据。重启会清空tempdb的数据

数据库自带用户介绍:

前面带#号的是mssql 内部用户数据库仅用数据库内部使用
nt开头的是数据库安装的时候创建的

了解mssql数据库

 

 

 

如果msql 执行命令是使用nt serivice\mssqlserver 这个 服务来执行命令 。

 

下面我们来查询个看看,来查看与mysql 不同的地方。

select * from master.dbo.sysobjects where xtype = 'u';

matster是指定数据库名点号后面跟上的是他的架构 再加上表名。

那么我们发现其实这个数据库里面根本没有这张表是怎么回事?

其实这个只是我们的视图,而不是我们真正的表。

sysobjects 是系统的视图,用于存放改数据库内创建的所有对象、如约束、默认值、日志、规则、存储过程,

xtype是代表对象类型:
U:表(用户自定义的表)
V:视图
P :存储过程
X :扩展存储过程

我们可以来查询我们所有的数据库名字

select * from master..sysdatabases;

了解mssql数据库

 

 

 

这个查询的也是我们的视图 在mssql里面information这个数据库也都是以视图的形式存在的

查看是否站库分离

 and (select host_name()) = (select @@servername)) 

查询数据库的名字,这个函数可以遍历 在括号里面输入数字可以查询对应的数据库名字

SELECT DB_NAME();

 

了解mssql数据库

 

 

 

这里再来说到mssql的权限划分,

sa:sysadmin      超级管理员权限
dbo : db_owner   数据库管理员权限
public :访问用户权限

 

 

0x02  存储过程

存储过程(Stored Procedure)是在大型数据库系统中,
一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效
,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
存储过程是数据库中的一个重要对象。
在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升

那么我们在实战当中就可以利用到存储过程来直接执行cmd命令

常用的存储过程有xp_cmdshell,sp_oacreate  sp_oacreate这个存储过程执行命令无回显,需要输出到txt文件然后进行查看。

在00版本是默认开启xp_cmdshell的 05版本后需要手工开启。

 

0x03  结尾

本次文章耗时3小时,记录一下时间点。下篇文章写mssql各类注入语法与bypass手法

了解mssql数据库

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119972.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Git的安装与使用教程(超详细!!!)「建议收藏」

    Git的安装与使用教程(超详细!!!)「建议收藏」git提交全部文件1、get.add.gitaddxx命令可以将xx文件添加到暂存区,如果有很多改动可以通过getadd-A.来一次添加所有改变的文件。注意-A选项后面还有一个句点。gitadd-A表示添加所有内容,gitadd.表示添加新文件和编辑过的文件不包括删除的文件;gitadd-u表示添加编辑或者删除的文件,不包括新添加的文件。2.、git…

    2022年4月29日
  • 【性能评估】ROC曲线

    【性能评估】ROC曲线1.混淆矩阵(confusionmatrix)   针对预测值和真实值之间的关系,我们可以将样本分为四个部分,分别是:   真正例(TruePositive,TP):预测值和真实值都为1   假正例(FalsePositive,FP):预测值为1,真实值为0 &nbs…

    2022年5月17日
  • pycharm许可证过期_当前系统license过期

    pycharm许可证过期_当前系统license过期问题描述今天打开PyCharm的时候弹出提示框Yourlicensehasexpired,表示证书到期了,无法继续使用软件。之前使用的证书是在学校的时候注册的学生账号,也就是以.edu.cn结尾的账号。现在需要寻找一种新的认证方式。解决方案PyCharm属于JetBrains的一员,这个系列的软件的认证方式有三种,分别是账号登录、激活码和授权服务器。对于在校的学生用户,…

    2022年8月25日
  • 轻量级神经网络发展_宽度神经网络

    轻量级神经网络发展_宽度神经网络文章目录轻量级神经网络——shuffleNetshuffleNet1逐点分组卷积(Pointwisegroupconvolution)✨✨✨通道重排(channelshuffle)✨✨✨shuffleNetUnit✨✨✨shuffleNet1的网络结果和效果轻量级神经网络——shuffleNetshuffleNet1  在之前,已经讨论过一种轻量级神经网络——MobileNet,文中对MobileNet的三个版本都做了详细的介绍,读此篇之前,建议先了解MobileNet,特别是要对其中的深度可

    2022年9月8日
  • 超详细Linux配置DHCP服务器

    超详细Linux配置DHCP服务器概述DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。工作原理1、客户端开机没有IP,局域网内需要发送一个广播形式的DISCOVER(局域网内不知道谁是DHCP服务器),只要能收…

    2022年5月29日
  • bm3d算法matlab,BM3D算法实现图像降噪.doc[通俗易懂]

    bm3d算法matlab,BM3D算法实现图像降噪.doc[通俗易懂]BM3D算法实现图像降噪广东工业大学《数字图像、数字信号处理及应用》实验报告题目图像处理综合实验院、系(部)自动化学院专业及班级学号姓名日期目录《数字图像、数字信号处理及应用》0实验报告02实验要求43实验设备44实验原理44.1利用拉普拉斯算子实现图像锐化44.2利用分段线性函数实现对比度扩展54.3余弦变换(D…

    2022年6月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号