1、1Access 数据库安全防范措施什么是 mdb 呢? 凡是有点制作网站经验的网络管理员都知道,目前使用“IIS+ASP+ACCESS”这套组合方式建立网站是最流行的,大多数中小型 Internet 网站都使用该“套餐” ,但随之而来的安全问题也日益显著。其中最容易被攻击者利用的莫过于mdb 数据库被非法下载了。mdb 数据库是没有安全防范的,只要入侵者猜测或者扫描到 mdb 数据库的路径后就可以使用下载工具轻松将其下载到本地硬盘,再结合暴力破解工具或一些超级破解工具可以轻松的查看里头的数据库文件内容,企业的隐私和员工的密码从此不在安全。难道我们就没有办法加强 mdb 数据库的安全吗 ?难道即
2、便我们只有一点点数据资料也要麻烦 sql server或者 oracle 吗?答案是否定的,本篇文章笔者将告诉大家打造安全的 mdb 数据库文件的独门秘诀。一、危机起因:一般情况下基于 ASP 构建的网站程序和论坛的数据库的扩展名默认为 mdb,这是很危险的。只要猜测出了数据库文件的位置,然后在浏览器的地址栏里面输入它的 URL,就可以轻易地下载文件。就算我们对数据库加上了密码并且里面管理员的密码也被 MD5 加密,被下载到本地以后也很容易被破解。毕竟目前 MD5 已经可以通过暴力来破解了。因此只要数据库被下载了,那数据库就没有丝毫安全性可言了。二、常用的补救方法:目前常用的数据库文件防止被非
3、法下载的方法有以下几种。(1)把数据库的名字进行修改,并且放到很深的目录下面。比如把数据库名修改为Sj6gf5.mdb,放到多级目录中,这样攻击者想简单地猜测数据库的位置就很困难了。当然这样做的弊端就是如果 ASP 代码文件泄漏,那无论隐藏多深都没有用了。(2)把数据库的扩展名修改为 ASP 或者 ASA 等不影响数据查询的名字。但是有时候修改为 ASP 或者 ASA 以后仍然可以被下载,比如我们将其修改为 ASP 以后,直接在 IE 的地址栏里输入网络地址,虽然没有提示下载但是却在浏览器里出现了一大片乱码。如果使用或影音传送带等专业的下载工具就可以直接把数据库文件下载下来。不过这种方法有一定
4、的盲目性,毕竟入侵者不能确保该文件就一定是 MDB 数据库文件修改扩展名的文件,但是对于那些有充足精力和时间的入侵者来说,可以将所有文件下载并全部修改扩展名来猜测。该方法的防范级别将大大降低。三、笔者的旁门左道:在笔者的测试过程中就遇到了 ASP 和 ASA 文件也会被下载的问题,所以经过研究发现了以下的方法。如果在给数据库的文件命名的时候,将数据库文件命名为“#admin.asa”则可以完全避免用 IE 下载,但是如果破坏者猜测到了数据库的路径,用 FlashGet 还是可以成功地下载下来,然后把下载后的文件改名为“admin.mdb” ,则网站秘密就将暴露。所以我们需要找到一种 Flash
5、Get 无法下载的方法,但是如何才能让他无法下载呢?大概是因为以前受到unicode 漏洞攻击的缘故,网站在处理包含 unicode 码的链接的时候将会不予处理。所以我们可以利用 unicode 编码(比如可以利用“%3C ”代替 “ 这段代码运行完之后将会在数据库内生成一个 nodownload 表,表内字段是 notdown。如果数据库内已有同名的数据表存在请将代码内的 nodownload 改成自己想要的数据表名即可。 四、asa 式 这种方式的真谛是利用 IIS 对 ASA 文件的保护,从而使得数据库文件不能从 URL 上直接请求下载,但是这种方式被误解成只要将文件后缀改成 ASA 就可以了。要知道 IIS 只是对global.asa 这个文件名有请求保护,所以这种方式只能将数据库名设置为 global.asa,而且要注意的是,设置成 global.asa 之后最好不要将其放在主机或虚拟目录的根目录里,不然会被 IIS 当然正常的 global.asa 文件进行尝试运行的。 感觉第三第四种是比较安全的,除非 IIS 有查看 ASP 或 ASA 源码的漏洞,否则是无法将数据库下载的。