2023信创独角兽企业100强
全世界各行各业联合起来,internet一定要实现!

你藏好了吗之轻松揪出数据库

2004-02-16 eNet&Ciweek

  前言

    数据库作为一个站点的核心部分其重要性自然不言而喻,网管们也煞费苦心的把数据库改名、加上特殊符号来增加安全性。但是最近一些安全站点的数据库路径纷纷被人找到并,也就是最近讨论的很热的"暴库"技术。我和紫幻以及黑客X档案的各位朋友们也对这门技术进行了研究。虽说研究成果还不是很多,但希望能起一个抛转引玉的作用。下面我就拿两个系统来做实例分析:

  动力文章系统

    一般说来每一个站点程序文件中都会有一个连接数据的文件(一般是conn.asp),当然这个文件名和路径并不是固定的,有的是在站点根目录下,有的是放在专门的一个文件夹里,通常这个文件夹名为INC,文件名为conn.asp。如果把这和暴库联系起来,通常人们都会想到通过访问这个文件来得到关于数据库的信息,而实际上我们直接访问这个文件是不会得到我们想要的信息的,所以就需要结合一些漏洞来达到暴库的目的。

    首先我来简单介绍一下这个程序,动力文章系统分为商业SQL版本和免费ACCESS版本,我们这里测试的当然是ACCESS版的。程序的conn.asp文件用于连接数据库,在/INC这个目录下,数据库文件在/Database目录下。连接数据库用的是相对路径:db="database/adsfkldfogowerjnokfdslwejhdfsjhk.mdb"

    动力文章系统的这个数据库路径泄露隐患应该算是程序员的疏忽而造成的,由于conn.asp这个文件本身存在隐患,导致攻击者获得数据库路径。漏洞发现者:天天(即黑客X论坛叫sohu的那位MM:),参与研究者:怪狗、iceyes、sniper。(漏洞分析可以参http://www.hackerxfiles.net/bbs/dispbbs.asp?boardID=4&ID=27293)。

  开始的时候我们还以为editor.asp这个文件缺乏足够的验证,但是后来分析我们才发现不是editor.asp的问题。天天的那种做法只是利用editor.asp查看服务器返回信息。我们再来演示一下这攻击过程。在IE中打开这个页面,看看这个页面能够起到什么作用(如图一)。

  

  


    很显然,这个文件是用于编辑文章内容的时候用的,虽然没有什么别的权限,但是我们可以编辑更改HTML页面。点击"原代码"找到这样一段内容:

  


  

  这是该页面进行身份验证的时候,将内容传递给Admin_ChkLogin.asp这个文件的内容,下面我们要做的就是把它改成conn.asp文件了:

  

  


  改好后,点"预览",看到什么了?看到了吧!数据库路径出来了(图二)!

  

  


    这是什么原因呢,让我们看看这个:

  'D:\web\power\access\inc\database\adsfkldfogowerjnokfdslwejhdfsjhk.mdb'不是一个有效的路径。确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。

  目录结构我开始已经说了主目录下存在INC目录(用于存放conn.asp)和DATABASE目录(数据库文件,即adsfkldfogowerjnokfdslwejhdfsjhk.mdb),那既然DATABASE目录并不在INC目录下,刚才暴露数据库的时候却显示\inc\database\呢。这就是编写人员的一大疏忽。由于INC和DATABASE属于同级目录,当我们用editor.asp连接访问conn.asp的时候,由于DATABASE并没有在INC目录下,而系统确认为你是在请求\inc\database\adsfkldfogowerjnokfdslwejhdfsjhk.mdb这个文件,而实际上没有这个文件,系统找不到这个文件自然就报错拉。要解决这个问题,最直接的方法就是和动网那样使conn.asp处于数据库文件的上级目录或同一个目录中。

  


相关频道: eNews

您对本文或本站有任何意见,请在下方提交,谢谢!

投稿信箱:tougao@enet16.com