dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>安全技术>文章内容
细说暴库的原理与方法(二)
来源: 作者:
大家注意第4句:DBPath = Server.MapPath("admin/rds_dbd32rfd213fg.mdb"),Server.MapPath方法的作用是将网站中的相 对路径转变成物理上的绝对路径。为何要这样?因为连接数据库时,须指明它的绝对路径。(这里可能有人不明白,什么相对路径、绝对路径?IIS为了不让访问 者知道真实的实际路径,并且确保网站不因变换地址而影响使用,它采用了一种相对路径来表示目录与文件之间的关系。也就是网址目录只表示从根目录起的相对位 置。

  比如:上面的网站中,网站:http://219.237.81.46的根目录为:"D:\111\"雨点下载目录则在根目录(D: \111)内的"yddown"下,我们网站访问该站时,就是在访问D:\111\yddown\目录,而http: //219.237.81.46/yddown/admin/,它只表明了admin与yddown这个目录的相对关系,把这个网站放在e:盘,也一样不 改变admin位于yddown目录下的关系。

  当Server.MapPath方法将相对路径转为真实路径时,它实际是三部分路径加在一起得到真实路径的:网页目前执行时所在的相对路径,也 就是从网站物理根目录起的相对路径,比如上面例子中conn.asp处在从根目录起的"/yddown/"下;然后调用的数据库的相对路径是 admin/rds_dbd32rfd213fg.mdb,这样就得到从根目录起的完整相对路径: "/yddown/admin/rds_dbd32rfd213fg.mdb"。

  这些都只是相对的路径,如何变为真实路径呢?

  设置过iis的人都会知道,每一个网站,都必须指定它在硬盘上的物理目录,比如上例中,网站根目录所在的物理目录为:"D:\111", Server.MapPath方法正是通过把"网站根目录的物理地址+完整的相对路径",从而得到真实的物理路径。这样,数据库在硬盘上的物理路径是: d:\111\yddown\admin\rds_dbd32rfd213fg.mdb。

  在这里,IIS以"\"表示真实路径的目录关系,而以"/"表示虚拟路径,这可能就是IE会自动把我们地址中的"\"转为"/"的原因吧。

  明白这些,我们再来理解暴库就不难了,当我们提交http://219.237.81.46/yddown%5cview.asp?id=3 时,view.asp调用conn.asp后,得到的网页相对路径是这样的:/yddown\ (见上),再加上 "admin/rds_dbd32rfd213fg.mdb",就得到"/yddown\"+admin/rds_dbd32rfd213fg.mdb。 在iis中,"/"和"\"代表着不同的意义,遇到了"\"时,认为它已到了根目录所在的物理路径,不再往上解析(为何不再往上解析?后面还会分析的), 于是网站的完整相对路径变成了
:"admin/rds_dbd32rfd213fg.mdb",再加上根目录的物理路径,得到的真实路径变成: "D:\111\admin\rds_dbd32rfd213fg.mdb",而这个路径是不存在的,数据库连接当然会失败,于是IIS会报错,并给出错 误原因:
Microsoft JET Database Engine 错误 ’80004005’

  ’D:\111\admin\rds_dbd32rfd213fg.mdb’不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。

  /yddown/conn.asp,行12

  这就是暴库语句的来历。

  《再谈%5c暴库的利用》一文中说,必须是网址中的第二个才可以成功,第一个不行。我们从理论上来分析一下,看到底有无规律:
 还以上 面网址为例,如果将第一个"/"换成"%5c",得到的网站相对路径变成\yddows/admin/rds_dbd32rfd213fg.mdb,解析 到"\"时,认为已到物理目录,不再往前解析。而事实上,它确实也是根目录,所以得到的物理路径为:"D:\111\dydow\admin\ rds_dbd32rfd213fg.mdb"
这个路径是正确的,所以不会出错,当然不会暴出数据库路径。

  第二个个"/"换成"%5c"的情况,我们上面已作分析,那是不是真的就第二个可以暴出呢,事实上,它只是因为二级网站较为常见,并不是真理。 如果这个下载系统是某一个网站中的三级目录,变第三个也是可以的。有时,变第三个成功的可能性更大。也就是说,最右边第一个成功可能性大。

不信?我先举个例子,再说原因:

http://nice.xmu.edu.cn/channely%5cblog/showlog.asp?cat_id=31&log_id=246

  这个网址,变第二个"/"为"%5c"时,网站打开很慢,但没有出错。

  当我们把第三个"/"变成"%5c"后,提交:

  http://nice.xmu.edu.cn/channely/blog%5cshowlog.asp?cat_id=31&log_id=246

  可以看到,数据库暴出来了!

  Microsoft JET Database Engine 错误 ’80004005’

  ’H:\channely\log_mdb\%29dlog_mdb%29.asp’不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。

  /channely/blog/conn.asp,行18

上一篇:细说暴库的原理与方法(一)   下一篇:细说暴库的原理与方法(三)
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·世界第一黑客提出计算机安全十大
·教你如何进入有密码的WindowsXP
·Windows NT/2K/XP系统下获取管理
·网站入侵10大隐患
·学会在Linux下对硬盘分区
·找回Redhat的超级用户密码
·推荐:ASPX一句话木马--终极版&详
·Cisco路由器安全配置方案
·永远不怕IE主页被修改
·手动杀熊猫.威金变种等经验
·加强边界路由器安全防护能力的9
·木马藏身的地方
  相关文章
·细说暴库的原理与方法(一)
·细说暴库的原理与方法(三)
·细说暴库的原理与方法(四)
·128M内存如何安装并使用卡巴斯基
·强搜天线 搜出WiFi世界的安全漏
·一个简单的木马原型基础代码
·谁是企业安全最大的敌人?
·上半年因特网安全调查
·经典:Web2.0客户端组件漏洞扫描
·经典:Web2.0客户端组件漏洞扫描
·QQ盗号木马干掉杀毒软件仿冒正常
·垃圾邮件伪装马尾辫女生 美女图
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763