网站暴库原理与方法剖析

一、方式

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

二、原理

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

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

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

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

_blank>http://www.qxzxp.com/soft\view.asp?id=58

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

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

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

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

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

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

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

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

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

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

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。