网站暴库原理与方法剖析

微笑、不失礼 提交于 2020-02-29 13:40:56

一、方式

暴库的方式有多种多样,我知道的就有3种以上,常见的暴的方法有:%5c类暴,conn.asp暴,ddos暴等等

 

二、原理

“%5c”暴库法,它不是网页本身的漏洞,而是利用了IIS解码方式中的一个特性,如果IIS安全设置不周全,

而网页设计者未考虑IIS错误,就会被人利用。

为何要用”%5c”?它实际上是”\”的十六进制代码,也就是”\”的另一种表示法。在电脑中,它们是一个东东。

但提交”\”和”%5c”却会产生不同的结果,在ie中,我们把下面第一个地址中的”/”换成”\”提交:

_blank>http://www.exehack.net/soft\view.asp?id=58

_blank>http://www.exehack.net/soft%5cview.asp?id=58
二者的访问结果是一样的。ie会自动把”\”转变成”/”,从而访问到同一地址。

但是,当我们把”/”换成十六进制写法”%5c”时,ie不会对此进行转换。地址中的”%5c”被原样提交了。
当IIS收到后解析时,又会将%5c还原成”\”。这样,iis中网址的相对路径就变成/Soft/html\13/。这一点很重要。问题正是从这里开始的。

在ASP网页中,凡调用数据库时,都会用到一个连接数据库的网页conn.asp,它会创建一个数据库连接对象,定义要调用的数据库路径
一个典型的conn.asp如下:

 
  1. <% dim conn
  2. dim dbpath set conn=server.createobject("adodb.connection") DBPath =Server.MapPath("admin/exehack.mdb") conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath %>

大家注意第4句:DBPath = Server.MapPath(“admin/exehack.mdb”),Server.MapPath方法的作用是将网站中的相对路径转变成物理上的绝对路径。

为何要这样?因为连接数据库时,须指明它的绝对路径。

(这里可能有人不明白,什么相对路径、绝对路径?IIS为了不让访问者知道真实的实际路径,并且确保网站不因变换地址而影响使用,它采用了一种相对路径来表示目录与文件之间的关系。也就是网址目录只表示从根目录起的相对位置。)

 

比如:上面的网站中,网站:http://www.chncto.com的根目录为:”E:\web\”,

下载目录则在根目录(E:\web\)内的”soft”下,我们网站访问该站时,就是在访问E:\web\soft\目录

而http://www.chncto.com/soft/admin/,它只表明了admin与soft这个目录的相对关系

把这个网站放在D:盘,也一样不改变admin位于soft目录下的关系。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!