A-A+

绝对路径与相对路径

2013年01月06日 计算机技术 暂无评论 阅读 64 views 次

“conn.asp暴库”是一个很古老的暴库技术,它是通过直接访问数据库连接文件 conn.asp 使服务器产生错误,通过服务器返回的错误信息提示报出数据库地址的。

要注意的是,这里所说的数据库连接文件“conn.asp”是在 ASP 程序中对数据库调用的一个文件。在“conn.asp”数据库连接文件中,包含有被调用的数据库路径及数据库名等,如调用的 SQL 数据库,则还会含有 SQL 连接用户名和密码等内容。当然,网站程序的数据库连接文件,并不全都是以“conn.asp”命名的,也可能有其他的名字,这里只是用“conn.asp”代表所有的数据库连接文件。

1,conn.asp 暴库的原理

直接访问 conn.asp 为什么能获取数据库地址呢?那是因为 conn.asp 与调用文件的相对路径出错造成的。%5c 是绝对路和径出错而引起暴库的,而 conn.asp 则是相对路径出错。

在上面的例子中,“conn.asp”是放在根目录下的“asp”目录中运行的,而调用“conn.asp”的文件“test.asp”,却是在根目录下运行的。因为考虑到执行目录的不同,在“conn.asp”中数据库的相对地址是以“test.asp”文件所有路径为参照的。相对于“test.asp”文件时,数据库的地址为“\asp\xxxxx.mdb”,直接访问“test.asp”文件时,由于“conn.asp”被包含于“test.asp”中,所以数据库路径为“web根目录+/asp/xxxxx.mdb”。最终的数据库路径为“d:\web\asp\xxxxx.mdb”,所以是正确的。

但是,当直接访问“asp”目录下的“conn.asp”文件时,根据文件中定义的数据库路径,此时服务器访问的数据库地址为“web根目录/asp+/asp/xxxxx.mdb”,最终的地址为“d:\web\asp\asp\xxxxx.mdb”,因此服务器当然会报错了。

2,真实路径的问题

报出的数据库地址是“d:\web\asp\asp\xxxxx.mdb”,这是不正确的。如果正确的话,也不会报出错信息了。

“conn.asp暴库”时,获得的地址要去掉其中“conn.asp”当前目录。在这里,去掉“conn.asp”当前目录“asp”,得到最终地址“d:\web\asp\xxxxx.mdb”,就是正确的数据库地址了。

标签:

给我留言