Office中国论坛/Access中国论坛

标题: 隐藏MDE文件中敏感信息 [打印本页]

作者: 小小白菜    时间: 2015-8-10 16:07
标题: 隐藏MDE文件中敏感信息
       来群里也快2年了,今天第一次在论坛上冒泡,最近发一个MDE会泄漏数据库帐号信息的安全问题,现在在王站的指导下已经成功解决,现将相关解决方法分享给各位Access朋友,希望大家在做自己系统的同时多考虑常量问题,让自己的后台更安全.       如下是经过编译后的MDE格式文件,在用文本编辑器打开后显示的基本都是乱码,但通过查找关键字pwd或server时就会发现宝藏,后台IP,端口,数据库名,数据库用户名,数据库密码这些信息一收眼底,大家想想有了这些信息还有什么不能做呢,为什么非要受前台设定权限的限制呢,而且曾经用过的旧用户信息也在里面,压缩修复前台都没有用。
[attach]57041[/attach]
      
       一般来讲这些信息最容易泄漏的有两个地方,一是直接用链接表的方式,此时相关信息会保存在隐藏的系统表Sysobjects中,另一种是直接用ADO写在模块代码中,一般来说MDB转为MDE后就不能看到模块的代码了,但并不是完全看不到,还会有一些会显示出来。第三种就是链接表+模块刷新,这种泄漏和直接用ADO差不多。
      因为我们有时需要配置ODBC,而本地ODBC要和模块代码中的IP,端口,数据库名,数据库用户名,数据库密码这些信息要同步,所以只能通过下面这种方法去写,当然如果大家有更好的方法可以分享出来,大家共同学习。
[attach]57042[/attach]

      通过加密是可以实现这些,一类是MD5加密,一类是改变字串的ASC来实现,虽然采用ASC能反向解密,但在乱码中没有pwd,server,ip这类的关键字当然也就无从下手了,也就间接的达到的加密的效果。首先得定义一个函数模块。可以直接在即时窗口中去测试。[attach]57043[/attach]

      定义完成后就可以在数据库连接代码模块中直接调用函数加密字串。
[attach]57045[/attach]

      最后再把文件编译为MDE,此时再用文本格式打开就看不到后台IP,端口,数据库名,数据库用户名,数据库密码这些信息了,同时查找pwd和server这些关键字也没有了。同样都是在102行,但显示的信息完全不同了。当然,没有真正意义上的安全,但能提升一步总是有好处的,即使要破解也要花一定的时间,而不是信手拈来。
[attach]57046[/attach]


     


[groupid=314]Access粉丝团[/groupid]
作者: admin    时间: 2015-8-10 16:09
Good! 赞一个!
作者: 风中漫步    时间: 2015-8-10 16:32
谢谢分享
作者: wormthree    时间: 2015-8-10 16:51
白菜包子来捧场白菜大叔。
作者: hunrybecky    时间: 2015-8-10 22:33
不错,谢谢分享。
作者: zhuyiwen    时间: 2015-8-11 06:38
赞一个!
作者: leonshi    时间: 2015-8-11 08:36
不错
作者: roych    时间: 2015-8-11 09:07
谢谢分享
作者: 5988143    时间: 2015-8-11 09:56
點贊加分了哦~
作者: 轻风    时间: 2015-8-11 12:37
处女贴啊,赞一个!{:soso_e100:}
作者: accben    时间: 2015-8-13 08:08
ACCDE有这个问题吗?
作者: 小小白菜    时间: 2015-8-13 10:12
accben 发表于 2015-8-13 08:08
ACCDE有这个问题吗?

我用的是2003版的,只能生成MDE,高版本的ACCDE没有试过
作者: 好运牛    时间: 2015-8-14 00:03
不错,可以在以后的access中应用了,谢谢分享




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3