由%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根目录+相对目录+指定的路径。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对于一些网站,只需要把站点链接的最后一个“/”改为“%5c”,就能够暴露出网站的数据库地址。为什么会出现这样的奇怪...
    Safesonic阅读 2,981评论 0 0
  • 我看暴库漏洞原理及规律 SQL注入流行很久了,我们找漏洞注入目的无非是想得到数据库内的东西,比如用户名密码等,更进...
    Safesonic阅读 1,098评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • 原文地址:http://blog.csdn.net/jzdzhiyun/article/details/52825...
    AiPuff阅读 962评论 0 2
  • 一、基本概念 1、相对路径-顾名思义,相对路径就是相对于当前文件的路径。网页中一般表示路径使用这个方法。 2、绝对...
    Jay_halo阅读 4,475评论 0 0