由%5c爆库漏洞研究的绝对路径,相对路径和虚拟目录

通常情况下,数据库连接文件中的server.mappath()方法,可以正常获得物理路径,但是在浏览器中的连接被修改提交后,网页的相对路径就发生了变化,重而使得路径报错,报出数据库信息.

ie特性,在浏览器中提交的连接地址中包含\浏览器会自动把 \ 转换为 /,重而访问到正确的连接地址。但是对于/小小的编码转换,就可避免ie的自动转化 %5是\的十六进制编码,当iis服务器收到用户提交的信息并作出解析时,会将%5c还原成\于是在iis服务器中,用户提交的网址的相对路径就变成了"asp\test.asp"或"asp\conn.asp"... 

 

网站服务器中,"相对路径"就是指相对于Web根目录的目录路径。例如D:\Web\在根目录建立 一个名为asp的目录,asp就是相对于D:\Web的一级子目录。对应到网站连接上来看的话,D:\Web\对应的就是"http://localhost"而"asp"就是相对于“http://localhost”的一级目录。因此,在web服务中访问asp目录是,只需要在浏览器中输入相对路径http://localhost/asp即可

 

所谓的绝对路径就是在服务器磁盘 中的真实路径,这里aso目录的绝对路径就是D :\Web\asp\是一个二级目录

 

在iis中还有一个特殊的目录路径----'虚拟目录".每个Web服务器可以重多个目录发布,Web服务器可以有一个宿主目录和任意数量的其他发布目录,其他发布目录就被成虚拟目录,上面的例子Web服务的根目录为D:\Web\通过iis虚拟目录功能,可以发布一个论坛服务,论坛程序可以位于任意路径,如在E:\bbs.通过iis虚拟目录设置,人能把bbs转化为Web目录下,直接用http:..localhost/bbs/进行访问

使用虚拟目录时,此目录指向一个绝对地址的物理路径。在iis中,在iis中,为了辨别当前访问的是否问虚拟目录,通常可以查询每个目录是否指向一个物理路径,而进行查询判断时,是以连接中\作为符号标记的。也就是说,当iis获取某个目录时,如果碰到 \ 符号,则将  \ 之后的路径作为目录的绝对路径,而忽略 \ 之前       绝对路径信息.

 

 

conn.asp数据库连接文件中,Data Source=server.MapPath("ccf.mdb")

server.MapPath()方法的作用就是把相对路径转换为物理上的绝对路径,进行数据读写。获取数据库文件的路径时,读取的路径为Web根目录+相对目录+指定的路径。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值