热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

搭建Access为主的Mdb数据库

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

什么是mdb数据库呢?凡是有点制作网站经验的网络管理员都知道,目前使用IIS+ASP+ACCESS这套组合方式建立网站是最流行的,大多数中小型Internet网站都使用该套餐,但随之而来的安全问题也日益显著。其中最容易被攻击者利用的莫过于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提交一个%29xadminsxx.mdb的下载链接,它却解释成了(xadminsxx.mdb,看看我们上面的网址的地方和下面的重命名的地方是不同的,FlashGet把“%29xadminsxx.mdb”解释为了“(xadminsxx.mdb”,当我们单击“确定”按钮进行下载的时候,它就去寻找一个名为“(xadminsxx.mdb”的文件。也就是说FlashGet给我们引入了歧途,它当然找不到,所以提示失败了。

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

  总结:

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

推荐阅读
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用Power Design(PD)和SQL Server进行数据库反向工程的方法。通过创建数据源、选择要反向工程的数据表,PD可以生成物理模型,进而生成所需的概念模型。该方法适用于SQL Server数据库,对于其他数据库是否适用尚不确定。详细步骤和操作说明可参考本文内容。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
author-avatar
顺佳海外
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有