MDE模块及链接表安全
时 间:2015-08-12 08:49:44
作 者:小小白菜 ID:37304 城市:苏州
摘 要: 无意中用文本编辑器打开MDE时发现会有一些定义在模块中的常量会显示出来,比如IP地址,后台用户名及密码之类的。现将相关信息分享给大家以供参考。
正 文:
最近发现一个MDE会泄漏数据库帐号信息的安全问题,现在在王站的指导下已经成功解决,现将相关解决方法分享给各位Access朋友,希望大家在做自己系统的同时多考虑常量问题,让自己的后台更安全. 如下是经过编译后的MDE格式文件,在用文本编辑器打开后显示的基本都是乱码,但通过查找关键字pwd或server时就会发现宝藏,后台IP,端口,数据库名,数据库用户名,数据库密码这些信息一收眼底,大家想想有了这些信息还有什么不能做呢,为什么非要受前台设定权限的限制呢,而且曾经用过的旧用户信息也在里面,压缩修复前台都没有用。
一般来讲这些信息最容易泄漏的有两个地方,一是直接用链接表的方式,此时相关信息会保存在隐藏的系统表Sysobjects中,另一种是直接用ADO写在模块代码中,一般来说MDB转为MDE后就不能看到模块的代码了,但并不是完全看不到,还会有一些会显示出来。第三种就是链接表+模块刷新,这种泄漏和直接用ADO差不多。
因为我们有时需要配置ODBC,而本地ODBC要和模块代码中的IP,端口,数据库名,数据库用户名,数据库密码这些信息要同步,所以只能通过下面这种方法去写,当然如果大家有更好的方法可以分享出来,大家共同学习。
通过加密是可以实现这些,一类是MD5加密,一类是改变字串的ASC来实现,虽然采用ASC能反向解密,但在乱码中没有pwd,server,ip这类的关键字当然也就无从下手了,也就间接的达到的加密的效果。首先得定义一个函数模块。可以直接在即时窗口中去测试。
定义完成后就可以在数据库连接代码模块中直接调用函数加密字串。
最后再把文件编译为MDE,此时再用文本格式打开就看不到后台IP,端口,数据库名,数据库用户名,数据库密码这些信息了,同时查找pwd和server这些关键字也没有了。同样都是在102行,但显示的信息完全不同了。当然,没有真正意义上的安全,但能提升一步总是有好处的,即使要破解也要花一定的时间,而不是信手拈来。当然还有另外一种方法,就是先把关键信息加密,使用的时候在反向解密,这样就相对要安全一些了.
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)