当前位置: 首页 > 原创新闻 > web安全实战-CONN.ASP暴库漏洞实验

web安全实战-CONN.ASP暴库漏洞实验

发表于:2020-12-17 10:09 作者: mtr 阅读数(8330人)

通过该实验了解conn.asp暴库原理,学会暴库漏洞的利用,以及该漏洞的防范。


实验简介

实验所属系列:Web应用安全

实验对象:本科/专科信息安全专业

相关课程及专业:信息网络安全概论

实验类别:实践实验类


预备知识

在说暴库之前,首先要了解两个概念:相对路径和绝对路径。绝对路径大家一般都明白,比如D:/test/test.mdb就是一个绝对路径,而/test/test.mdb就是一个相对路径。


1.%5C暴库

 简单点说,就是在打开页面的时候把网页中的/换成%5C,然后提交就可以得到数据库地址了,但并不是所有的页面都可以成功,而需要“asp?id="这样的网址。因为这样的网址表示该页面调用了数据库,也就是说如果你知道一个文件调用了数据库,如search.asp、vote.asp等,都有可能导致暴库漏洞。

举个例子,比如当访问http://www.test.com/test/vote.asp?id=123,当把网址test后的那个'/'换成%5C的时候就会出现类似如下错误信息

为什么会出现这种情况呢?首先有的网站conn.asp里有一句代码为

DBPath=Server.MapPath("test/test.mdb")

Server.MapPath方法的作用是将网站中的相对路径转变成物理上的绝对路径。因为在连接数据库时,应该指明它的绝对路径,这样就得到了数据库的绝对路径为D:\123\测试\test\test.mdb。

可IIS就不这样认为了,因为来了一个%5C(也就是\),虽然浏览器解析的时候是一个意思,可在IIS这里却认为访问到'\'这里时就到了根目录所在的地方,而不再往上解析了。于是刚才的路径在IIS眼里就是D:/123/test/test.mdb,是不存在的,所以就暴错了。


2.Conn.asp暴库

Conn.asp里面有数据库的路径信息 database=“路径”,这里的路径是一个相对的路径,根据调用它的页面文件的不同,会有不同的物理路径的解析,如果路径是\data\*.mdb,(网站的根目录是D:\wwwroot,conn.asp的路径是D:\wwwroot\inc\conn.asp,数据库的物理路径是D:\wwwroot\data\*.mdb,),哪个页面文件调用conn.asp,数据库的路径就是调用conn.asp的页面文件的路径+\data\*.mdb,如果是网站根目录下的文件调用的话是对的,数据库物理路径解析为D:\wwwroot\data\*.mdb。但是,如果是inc下的页面调用的话,数据库的物理路径就被解析成D:\wwwroot\inc\data\*.mdb,而这个路径是不存在的,这里的相对路径是数据库相对于调用页面的而被解析的路径,所以如果直接浏览器访问/inc/conn.asp,将会出错,并暴出网站数据库的地址路径。

本次实验我们只进行conn.asp暴库漏洞的利用以及防范。


实验目的

通过该实验了解conn.asp暴库原理,学会暴库漏洞的利用,以及该漏洞的防范。


实验环境

服务器:Windows 2003  IP:10.1.1.218

客户端:WindowsXP  IP地址随机分配。


实验地址:CONN.ASP暴库漏洞实验