旧话重提,ASP开发中数据库地址暴露的问题!因昨天发现google暴露数据库地址的问题想到的!

原创 2004年07月18日 17:37:00

关键字:ACCESS,数据库下载,IIS安全

http://blog.csdn.net/qunluo/archive/2004/07/17/44092.aspx(google暴露数据库地址文章地址)

这个问题,我老早以前就知道的安全问题了,不知道是我的运气好还是水平太臭,我的程序一直没有人光顾过,至少我的数据库只是我在自己的网上测试过,在某些情况下ACCESS的数据库还是可以下载,当然这个服务器管理员水平问题有一定关系。至于有人说将数据库名称写得尽量古怪一些,我是不敢相信你能够想到的究竟能够有多复杂。当然如果你的程序除了你自己看过外,别人没见过,那还是可以起到一定作用。当然这个时候你的数据库所在目录是不能开放目录浏览权限的!

后来知道了改数据库为ASP后缀或者是ASA之类可以避免类似问题。但是这还是得配合服务器端配置才可以起到一定作用,到现在我也不知道这不是真的是 经过事实验证的了。不得而知!但是网上搜索看看,肯定第一条就是这样说的:“数据库扩展名称改为ASP后缀”!呵!呵!真这样做了就安全了么?只能够说不一定,为什么,因为这个文件里不含<%或%>等标签,所以IIS不对这个文件作任何处理,下载的数据库和原数据库完全一样! 还是和服务器配置有关系了!

所以另外一方面,还知道可以在ACCESS里加上包含“<%"符号的OLE字段信息,可以防止下载。也是不知道是否就是那样所说的安全了呢?但是至少在地址栏打上数据库地址,的确是乱码显示用点击下载该数据库是无法下载了。我在自己的机器上和服务器上(虚拟主机空间上)经过验证证实这点。

但是还有个问题值得提出来说一下,用flashget之类工具来下载呢?还听说数据库名称加#这样的符号可以防止下载,也是可以的,理基当然是于锚点。下载的时候只能识别 #号前名的部分,对于后面的自动去掉,自动认为访问地址串结束。比如你要下载:http://www.mysite.com/date/#123.mdb(假设存在的话)。无论是IE还是FLASHGET还是蚂蚁等下到的都是http://www.mysite.com/date/index.htm(index.asp、default.jsp等你在IIS设置的首页文档)

结合上面的符号问题,另外在数据库文件名中保留一些空格也起到类似作用,由于HTTP协议对地址解析的特殊性,空格会被编码为"%",如http://www.mysite.com/date/123 ;456.mdb,下载的时http://www.mysite.com/date/123%456.mdb。而我们的目录就根本没有123%456.mdb这个文件,所以下载也是无效的这样的修改后,即使你暴露了数据库地址,一般情况下别人也是无法下载!

还有一点,安全做法就是使用DSN配置你的数据库,将数据库放置在非c:/inetpub/wwwroot/myasp目录外。然后在数据库驱动连接里,使用DSN方式连接。呵!问题是除非是自己的服务器,否则。那个公司给你在他们自己的服务器上替你做这样的配置呢?(为什么?如果你改了自己WEB程序的数据库内容需要重新上传,然后一次次骚扰工作人员为你做不同的配置。比如更改该数据库摆放的位置,你就得让人家给你另外配置你的数据库DSN了!对于很多做个人网站的人而言。也算是不可行的做法,尽管算是安全了。(而且这种做法多少是要牺牲一些数据库效率和性能为代价,微软站上我记得好像都不推荐这样做(使用DSN连接)

对了,有部分人(刚接触计算机和WEB开发)还会认为给数据库设置密码应该就安全了。conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq=数据库路径"这样修改后,数据库即使被人下载了,别人也无法打开(前提是你的数据库连接页中的密码没有被泄露)但值得注意的是,由于Access数据库的加密机制比较简单,即使设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行“异或”来形成一个加密串,并将其存储在*.mdb文件从地址“&H42”开始的区域内。所以一个好的程序员可以轻松制作一个几十行的小程序就可以轻松地获得任何Access数据库的密码。因此,只要数据库被下载,其信息安全依然是个未知数。而且现在网上这样的软件多得很,已经不是什么秘密了!

暴露数据库连接地址的问题,我现在想起来,可以保存在Global.asa 这个很少有人注意到的文件里!以后在适当的位置触发使用!我是没这样使用过,也是听其他网上的朋友说起来。也不知道是否可行!就程序而言结合Adodb.Stream 使用,在IE地址栏防止下载也是可以做到的,过几天放上这个东西。

还知道在是不是做到以上几点就已经是非常安全了,我是持疑问的!当然我指的不是黑客黑了服务器的可能,如果都这样了,服务器就是人家手里的机器,那还用多说什么。呵!!看来,我们的服务器网络管理员的工作在一定程度上来说,还是决定了我们程序是否有市场的关键,呵!!

****************************

注:非ACCESS数据库不在本文讨论范围之内!

 

暴露问题是对项目验收最起码的尊重!

0、引言:本文的项目验收指乙方完成甲方任务书中的所有任务,交付甲方运行验收。一般验收标准包括:功能达标、性能达标。本文的项目不具备通用性。2个周(含周末)的项目验收,累、疲惫、心力憔悴自是不必说。临近...
  • wojiushiwo987
  • wojiushiwo987
  • 2016年12月18日 20:32
  • 1517

为什么一些api暴露的id不是整数

一般人脸检测、识别的api,或其他一些涉及到上传文件的api,返回的文件编号都不是整数, 而是一个很长的字符串,如39bzfptuNhoeN3ft5iN9Wz2fD9Fwqh7vOUFrnkg7, 假...
  • wuzuyu365
  • wuzuyu365
  • 2016年07月23日 17:03
  • 373

隐藏终端和暴露终端

序言隐藏终端和暴露终端都是由于CSMA/CA中所采用的LBT机制所引起。隐藏终端是由于监听到的信道空闲而不是真的空闲,故引发冲突。而暴露终端是由于监听到的信道忙而不是真的忙,故其可以传输而不传输。隐藏...
  • sophies671207
  • sophies671207
  • 2017年03月26日 21:51
  • 926

隐藏终端和暴露终端问题及其解决办法

"隐藏终端"(Hidden Stations):在通信领域,基站A向基站B发送信息,基站C未侦测到A也向B发送,故A和C同时将信号发送至B,引起信号冲突,最终导致发送至B的信号都丢失了。"隐藏终端"多...
  • jspshuishui
  • jspshuishui
  • 2014年05月28日 17:22
  • 3382

Dubbo框架初探【用Spring配置声明暴露服务(可以使用multicast广播注册中心暴露服务地址或者使用zookeeper注册中心暴露服务地址)、加载Spring配置,启动服务】

文章来源:http://blog.csdn.net/kefeng824/article/details/43983621 1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提...
  • buster2014
  • buster2014
  • 2015年05月17日 21:01
  • 844

java 接口里暴露函数

interface A{       void method1();   }   class B{       private void f(){System.out.println("f()...
  • ZHOU452840622
  • ZHOU452840622
  • 2015年06月21日 12:48
  • 999

接口封装之暴露内部过多

在软件开发中经常需要对自己写的类进行封装,接口给外部留下,而对实现细节进行隐藏。通常是留下一个头文件,给一个lib文件和dll文件(windows下)。但是这个头文件中也可能暴露过多的信息,能不能只留...
  • FreeCloud_InSky
  • FreeCloud_InSky
  • 2016年09月17日 21:44
  • 572

隐藏站与暴露站问题

隐藏站与暴露站问题是因为无线环境具有一些内在的复杂性 所谓的隐藏站问题是指: 假设有3无线通信站ABC如下所示: A        B         - C  其中B在C的无线电波范...
  • suogongy
  • suogongy
  • 2013年02月26日 20:02
  • 7255

通过双11暴露出的我们的哪些问题-阶段性总结

趁着双11的热度^_^,思考了几个下面的问题,大家一起看看。 暴露出的问题: 1、  在代码review的过程中,我们对如何写一段好的的代码,找不到感觉,比如,对方法的控制上,如何做到小方法解决一个功...
  • wangxindong11
  • wangxindong11
  • 2016年11月11日 09:50
  • 689

【干货】MAC地址的秘密,都在这了

来源:中科爱讯感谢原创授权转发!随着日常家庭中智能终端的数量增多,MAC地址常常会出现在视野内,我们常常困惑什么MAC地址,MAC地址如何查看?什么是随机MAC地址?运用什么工具可以查看MAC地址厂商...
  • xCnhYKoHj3eK
  • xCnhYKoHj3eK
  • 2017年12月28日 00:00
  • 191
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:旧话重提,ASP开发中数据库地址暴露的问题!因昨天发现google暴露数据库地址的问题想到的!
举报原因:
原因补充:

(最多只允许输入30个字)