首页 > 代码库 > 网站暴库原理与方法剖析
网站暴库原理与方法剖析
一、方式
暴库的方式有多种多样,我知道的就有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目录下的关系。
网站暴库原理与方法剖析