搭建Access为主的Mdb数据库

   什么是mdb数据库呢?凡是有点制作网站经验的网络管理员都知道,目前使用“IIS+ASP+ACCESS”这套组合方式建立网站是最流行的,大多数中小型Internet网站都使用该“套餐”,但随之而来的安全问题也日益显著。其中最容易被攻击者利用的莫过于mdb数据库被非法下载了。

  什么是mdb数据库呢?凡是有点制作网站经验的网络管理员都知道,目前使用“IIS+ASP+ACCESS”这套组合方式建立网站是最流行的,大多数中小型Internet网站都使用该“套餐”,但随之而来的安全问题也日益显著。其中最容易被攻击者利用的莫过于mdb数据库被非法下载了。

  mdb数据库是没有安全防范的,只要入侵者猜测或者扫描到mdb数据库的路径后就可以使用下载工具轻松将其下载到本地硬盘,再结合暴力破解工具或一些超级破解工具可以轻松的查看里头的数据库文件内容,企业的隐私和员工的密码从此不在安全。难道我们就没有办法加强mdb数据库的安全吗?难道即便我们只有一点点数据资料也要麻烦sqlserver或者oracle吗?答案是否定的,本篇文章笔者将告诉大家打造安全的mdb数据库文件的独门秘诀。

  一、危机起因:

  一般情况下基于ASP构建的网站程序和论坛的数据库的扩展名默认为mdb,这是很危险的。只要猜测出了数据库文件的位置,然后在浏览器的地址栏里面输入它的URL,就可以轻易地下载文件。就算我们对数据库加上了密码并且里面管理员的密码也被MD5加密,被下载到本地以后也很容易被破解。毕竟目前MD5已经可以通过暴力来破解了。因此只要数据库被下载了,那数据库就没有丝毫安全性可言了。

  二、常用的补救方法:

  目前常用的数据库文件防止被非法下载的方法有以下几种。

  (1)把数据库的名字进行修改,并且放到很深的目录下面。比如把数据库名修改为Sj6gf5.mdb,放到多级目录中,这样攻击者想简单地猜测数据库的位置就很困难了。当然这样做的弊端就是如果ASP代码文件泄漏,那无论隐藏多深都没有用了。

  (2)把数据库的扩展名修改为ASP或者ASA等不影响数据查询的名字。但是有时候修改为ASP或者ASA以后仍然可以被下载,比如我们将其修改为ASP以后,直接在IE的地址栏里输入网络地址,虽然没有提示下载但是却在浏览器里出现了一大片乱码。如果使用FlashGet或影音传送带等专业的下载工具就可以直接把数据库文件下载下来。不过这种方法有一定的盲目性,毕竟入侵者不能确保该文件就一定是MDB数据库文件修改扩展名的文件,但是对于那些有充足精力和时间的入侵者来说,可以将所有文件下载并全部修改扩展名来猜测。该方法的防范级别将大大降低。

  三、笔者的旁门左道:

  在笔者的测试过程中就遇到了ASP和ASA文件也会被下载的问题,所以经过研究发现了以下的方法。

  如果在给数据库的文件命名的时候,将数据库文件命名为“#admin.asa”则可以完全避免用IE下载,但是如果破坏者猜测到了数据库的路径,用FlashGet还是可以成功地下载下来,然后把下载后的文件改名为“admin.mdb”,则网站秘密就将暴露。所以我们需要找到一种FlashGet无法下载的方法,但是如何才能让他无法下载呢?大概是因为以前受到unicode漏洞攻击的缘故,网站在处理包含unicode码的链接的时候将会不予处理。所以我们可以利用unicode编码(比如可以利用“%3C”代替“<”等),来达到我们的目的。而FlashGet在处理包含unicode码的链接的时候却“自作聪明”地把unicode编码做了对应的处理,比如自动把“%29”这一段unicode编码形式的字符转化成了“(”,所以你向FlashGet提交一个http://127.0.0.1/xweb/data/%29xadminsxx.mdb的下载链接,它却解释成了http://127.0.0.1/xweb/data/(xadminsxx.mdb,看看我们上面的网址的地方和下面的重命名的地方是不同的,FlashGet把“%29xadminsxx.mdb”解释为了“(xadminsxx.mdb”,当我们单击“确定”按钮进行下载的时候,它就去寻找一个名为“(xadminsxx.mdb”的文件。也就是说FlashGet给我们引入了歧途,它当然找不到,所以提示失败了。

  不过如果提示下载失败,攻击者肯定要想采取其他的攻击方法。由此我们可以采用另一个防范的方法,既然FlashGet去找那个名为“(xadminsxx.mdb”的文件了,我们可以给它准备一个,我们给它做一个仿真的数据库名为“(xadminsxx.mdb”,这样当入侵者想下载文件的时候的的确确下载了一个数据库回去,只不过这个数据库文件是虚假的或者是空的,在他们暗自窃喜的时候,实际上最终的胜利是属于我们的。

  总结:

  通过本次旁门左道保护MDB数据库文件方法的介绍,我们可以明确两点安全措施,一是迷惑法,也就是将黑客想得到的东西进行改变,例如改变MDB文件的文件名或者扩展名;二是替代法,也就是将黑客想得到的东西隐藏,用一个没有实际意义的东西替代,这样即使黑客成功入侵,拿到的也是一个虚假的信息,他们还会以为入侵成功而停止接下来的攻击。

时间: 2025-01-24 18:57:06

搭建Access为主的Mdb数据库的相关文章

如何将access mdb数据库导入到mysql中 .mdb转mysql

如何将access mdb数据库导入到mysql中,有人说用mysql-front但用起来十分难用,还要新建 dsn,dsn这东西有多少年没有人用了, 最简单的方法是使用navicat for mysql ,安装完成后,新建一个数据库,打开数据库后,展开数据库,会发现出现,表,视图,函数,等选项,在表上右击会出现导入向导,然后跟着向导一步步地向下做就可以了

MDB数据库压缩方法

数据|数据库|压缩   MDB数据库压缩方法 jimzj@21cn.com   虽然说MDB数据库功能不是很强大,但时由于在WIN x系统中已有缺省的驱动程序,所以不用另外像SQL,SYBASE一样安装一个管理驱动,而且携带方便,很多的小应用程序或网站还是采用MDB数据库.经常操作MDB数据时,就会经常碰到要对数据进行压缩,下面的我在网上找到和自己使用的经验写一下关于在各种环境中压缩MDB数据库的方法,提供大家参考:   一.ASP或VB中压缩 以前使用 DAO 时,Microsoft 有提供

如何把ACCESS转成SQL数据库

access|sql|数据|数据库 很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项 一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的: 二,转换的方法 1,打开"控制面板"下"管理工具"中的"数据库源": 2,按"添加&q

在Linux中通过Python脚本访问mdb数据库的方法

  这篇文章主要介绍了在Linux中通过Python脚本访问mdb数据库的方法,本文示例基于debian系的Linux系统,需要的朋友可以参考下 在 linux 系统中连接 mdb 数据库,直接连接的话,mdb 默认的驱动无法识别非 windows 的路径, 所以不能使用常规的连接方式 ? 1 DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:dirfile.mdb 安装 这里我们需要借助一些库来实现第三方的驱动 我们需要安装这些包:mdbtools,

IIS下防止mdb数据库被下载的实现方法_win服务器

解决access(mdb)数据库防止下载,一般有两种方法: 第一种方法:要求网站管理人员具体asp编程经验.因为现在的销售虚拟主机的系统,已经为用户建立了一个database目录,跟web目录同一个级别,用户访问的是web中的文件,而无法访问database目录的文件.所以大家要把数据库文件放到database目录里面就可以了,但实现起来不会这么容易,需要获取mdb文件的实际目录,主要是连接数据库的地方,需要修改下. 这里给出具体的思路.先获取web根目录中的任意一个文件.例如那么数据库的地址就

九种防MDB数据库被下载的方法小结_ASP基础

1.发挥你的想象力 修改数据库文件名  但是若攻击者通过第三方途径获得了数据库的路径,就可以下载数据库.故保密性为最低.  2.数据库名后缀改为ASA.ASP等 此法须配合一些要进行一些设置,否则就会出现本文开头的那种情况  (1)二进制字段添加. (2)在这个文件中加入<%或%>,IIS就会按ASP语法来解析,然后就会报告500错误,自然不能下载了.可是如果只是简单的在数据库的文本或者备注字段加入<%是没用的,因为ACCESS会对其中的内容进行处理,在数据库里他会以< %的形式存

九种防MDB数据库被下载的方法小结

1.发挥你的想象力 修改数据库文件名  但是若攻击者通过第三方途径获得了数据库的路径,就可以下载数据库.故保密性为最低. 2.数据库名后缀改为ASA.ASP等 此法须配合一些要进行一些设置,否则就会出现本文开头的那种情况  (1)二进制字段添加. (2)在这个文件中加入<%或%>,IIS就会按ASP语法来解析,然后就会报告500错误,自然不能下载了.可是如果只是简单的在数据库的文本或者备注字段加入<%是没用的,因为ACCESS会对其中的内容进行处理,在数据库里他会以< %的形式存在

oracle 11.1.0.7版本也会出现access$表丢失导致数据库无法启动

下面我们来看看oracle 11.1.0.7版本也会出现access$表丢失导致数据库无法启动,有需要了解的朋友可以进入看看吧. 有网友咨询数据库启动报ora-01092:ORACLE 实例终止.强制断开连接,请求帮忙处理 数据库版本 Trace file d:appadministratordiagrdbmsorclorcltraceorcl_ora_5648.trc Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64b

Access不能更新,数据库或对象为只读

本文章来给大家介绍Access不能更新,数据库或对象为只读的解决办法. 在访问页面里出现如下错误: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] 不能更新.数据库或对象为只读. 解决方法: 设置对应的Access数据库文件对网站匿名访问用户有写的权限即可.