《黑客×档案》2007年第1期摘录:是不是感觉着有点晕了啊?想学习
-
如发现有乱码,请点击下面链接浏览原文
正文摘录:
是不是感觉着有点晕了啊?想学习ASP就别怕难,我来慢慢解释给大家听。“Dim”是ASP中用来定义变量的方式,例如:dim变量1,变量2,变量3//定义多个变量是中间用逗号隔开,在ASP中,我们是不需要事先说明变量是什么类型的(例如数字或字符串,这一点和C语言是不同的)。“&”是连接符,我们经常用它连接两个字符串。例如:V3=”hacker”&”X”&”f_le”,得到的V3就是heckerXf_le,简单吧?Server.MaPPath的作用就是把相对路径转换为“物理路径”。理解它的作用在理解暴库的原理上至关重要。例如Server.MapPath(”data\mdb.mdb”)这句代码在conn.asp里,conrl.asp当前是在E:\web\bbs\中,那么Server.MapPath的操作就是把E:\web\bbS\与data\mdb.mdb连接起来得到E:\web\bbs\data\mdb.mdb。理解了这几个基本知识,我们再回过头来看看那一段代码:connstr2=C0nnstr1&Server.MapPath(db),得到结果为ProVider=Microsoft.Jet.OLEDB.4.0jDateSource----E71web\bbsldata\mdbimdb,4.%5c暴厍%5c就是“\”进行uRL编码后的表达方式。我们平时提交http://127.0.0.1/bbs/conn.asp的时候,C0nn.asP知道应该从相对目录bbS下开始查找数据库mdb.mdb的位置。可是我们提交http://127.0.0.1/bbs%5cconn.asp时,实际上corm.asp依然在bbs下,IIS能够正确的解析它,可是conn.asP却不认识了,它还以为bbs%5CC0nn.asp是一个文件,位于根目录下(忽略掉了bbs这个目录),于是找不到数据库就暴出了错误,如图1。l|icrosoftJgTDa…bscEnglne镕*’80004005’IlIl’E:\…t\d~ta\dvbbs?a',db’下是一个有地的路径。确定路径名称拼写是i正确,以厦是否连接到文件存dIjl/…agp.≈14;【............................。一~—J图15.直接访问inc/conn.asP暴库有些网站的C0nr1.asP存放在ine目录下,而调用C0nin_.asp的文件一般都是在根目录下,比如httP://127.0.0.1/index.asp会去调用httP://127.0.0.1/inc/conn.asp,耶么Server.MapPath是以index.asp所在的目录来查找数据库的。但是当我们直接访问httP://127.0.0.1/inC/conn.asP的时候问题就发生了,Seryer.MapPath此时却是以iFIC为当前目录来查找数据库的,当然是找不到了。限于篇幅我们就不再举出详细的例子了,我特意画了两张图给大家,大家仔细看这两张图再结合网卜一些暴库的文字描述,应该会理解的比较清楚,就不浪费我们宝贵的课堂时间了,如图2,图3。二、暴库入侵实战前几期杂志上刺猬兄曾经说过投票系统的暴库漏洞大概是70%,可能是因为人们对投票系统的关注比较少,所以安全问题也就很严重r。经过我最新的测试,虽然目前存在漏洞的少了很多,但是也有30%左右的投票系统会出现暴库的问题。打开百度搜索inurl:VOte.asP(我们也可以换成别的关谴字)可以搜索出很多这套投票系统。随便打开几个网站,把v0te.asP前面的“/”换成“%5C”,很多都会暴出数据库路仔来,如图4。在本例中,v0te.asP本来应该在相对目录/shaoyang/wsxq43/下鱼找数据库pictures/photoshop/qzWSXqmdb.mdb,可是把“/”变成“%5c”后,vote.asp就会无视wsxq43这个目录的存在,到/shaOYang/下去寻找,结果自然是找不到了!因此,我们根据错误提示的信息,将丢失的wsXq43/补全,访问http:/瓣
阅读此文(图):
点击此处在线翻阅