2024年6月21日发(作者:)
2013年第2期 福 建 电 脑 97
浅谈基于ASP与Access网站的安全隐患及对策
彭昕洋
(汕尾市d_r-学校广东汕尾516000)
【摘 要】:本文从ASP语言的特性和ACCESS数据库本身的特点出发,分析了ACCESS数
据库应用在ASP中的主要安全隐患.并给出了相应的解决方法、措施。
【关键词】:ASP;Access;安全防范
ASP+Access是建设中小型Internet网站的主
要技术手段。但是.该解决方案在为我们带来便捷
的同时.也带来了严峻的安全问题。特别是近期随
着微软一些安全漏洞的暴露.ASP与ACCESS数
据库的不安全性.很多利用这些技术开发的网站
与破解工具被黑客公布到网上.上网者可以很方
便的下载它们.并利用他们攻击存在漏洞的ASP
网站.轻则注人木马影响正常用户对网站的访问。
重则破坏服务器上的数据。针对这种情况,文章对
ASP+access网站的一些安全问题进行了分析.并
提出了应对这些安全问题的解决方法
一
、
关键技术分析
l、ASP技术
ASP是Active Server Page的缩写.意为“动态
服务器页面”。ASP是微软公司开发的代替CGI脚
本程序的一种应用.它可以与数据库和其它程序
进行交互,是--一种简单、方便的编程工具。
2、Access数据库
Microsoft Omce Access是微软把数据库引擎
的图形用户界面和软件开发工具结合在一起的一
个数据库管理系统 ACCESS支持Visual Basic宏
语言。它是一个面向对象的编程语言,可以引用各
种对象,包括DAO。ActiveX数据对象 以及许多其
他的ActiveX组件。可视对象用于显示表和报表.
他们的方法和属性是在VBA编程环境下.VBA代
码模块可以声明和调用WindoWs操作系统函数
二、网站安全分析
l、Access数据库的可能被下载
数据库是网站运营的基础.网站的重要信息
都存放在网站数据库中.如果非法用户通过各种
方法获得或者猜到数据库 mdb)l ̄存储路径和文
件名.则该数据库就可能通过地址“URL/数据库
所在路径名/数据库名.mdb”被下载到本地 这
样.网站中的许多重要信息会被一览无余.用户通
过查询数据库中的数据表.就可以很轻易的获得
网站的管理员用户名和密码.从而获得网站的后
台管理后台权限并控制整个网站.安全后果不堪
设想。
2、Access数据库可能被解密
由于Access数据库的加密机制非常简单.所
以即使数据库设置了密码.解密也很容易。当数据
库被下载后.该数据库系统通过将用户输人的密
码与某一固定密钥进行异或来形成一个加密串.
并将其存储在半.mdb文件中从地址“&H42”开始
的区域内 由于异或操作的特点是“经过两次异或
就恢复原值”.因此,用这一密钥与冰.mdb文件中
的加密串进行第二次异或操作.就可以轻松地得
到Access数据库的密码。基于这种原理。可以很
容易地编制出解密程序
3、ASP页面的安全性
fl油于ASP程序采用非编译性语言,大大降
低了程序源代码的安全性 任何用户只要进人站
点.就可以获得ASP源代码:同时对于租用服务
器的用户.因个别服务器出租商的职业道德问题,
也会造成ASP应用程序源代码泄露
f21程序设计中容易被忽视的安全性问题.ASP
代码主要使用表单实现交互.而相应的内容会反
映在浏览器的地址栏中.如果不采用适当的安全
措施,只要记下这些内容.就可以绕过验证直接进
入某一页面。
三、应对网站安全问题的方法
1、非常规命名法
防止数据库被找到的简便方法是为Access
数据库文件起一个复杂的非常规名字.并把它存
放在多层目录下 比方可将“news.mdb”改成
“
ya8q—g7j3wu.mdb”.再把它放在/asdfgs/yqzope/
98 福 建 电脑 2013年第2期
hprmb/的目录下.当然.也可以将数据库的扩展
有密码也是无法看到examp1.mdb的,
名改为.asp.在写连接字符串的时候也要用类似
database.asp的文件名,这样会被有效防止数据库
一
4、把数据库进行MD5加密
先从网上下载一个MD5-asp程序,作为加密
被轻易下载.但是不会影响数据库的正常的读写
数据库用.然后在用户登录页面最上边捅入这样
操作。
句:<!一~#includefile=”rod5.asp”一一>,接着在
2、使用ODBC数据源 登录程序巾找到大概这样一句话:pass=request(”
在ASP程序设计中.应尽量使用ODBC数据
pass”),把它改成pass=md5(request(”pass”))。这样,
源,不要把数据库名直接写在程序中,否则,数据 数据库即使被下载了.破解的难度也很大
库名将随ASP源代码的失密而一同失密。例如:
DBPath=Smwer.MapPath f‘‘./klklie45/hgty456/sdfre/
5、对ASP页面进行加密
一
般有两种方法对ASP页面进行加密 一种
a8q2g7j3wu.asp”1
conn.Open“driver={Microsoft Access Driver .mdb)};dbq=”
&DBPath
是使用组件技术将编程逻辑封装入DLL之中:另
种是使用微软的Script Enco(1er对ASP页面进
一
使用组件技术存在的主要问题是每
可见,即使数据库名字起得再怪异,隐藏的目
行加密。但是.
操作比较烦琐,工作量较大;
录再深,一旦ASP源代码被下载.数据库也很容
段代码均需组件化,
ipt Encoder对ASP页面进行加密.操作
易被下载下来。如果使用ODBC数据源.就不会存
而使用Scr
简单、收效良好
在这样的问题了
6、利用Session对象进行注册验证
3、使用ACCESS来为数据库文件编码及加密
为防止未经注册的用户绕过注册界面直接进
首先在选取“工具 安全 加密/解密数据
sion对象进行注册验
库”,选取数据库(如:examp.mdb),然后接确定,接
入应用系统.可以采用Ses
着会出现“数据库加密后另存为”的窗口.存为:ex.
证。Session对象最大的优点是可以把某用户的信
让后续的网页读取.代码举例如下:
amp1.mdb。接着examp.mdb就会被编码然后存
息保留下来,
为examp1.mdb。要注意的是.以上的动作并不是对
数据库设置密码.而只是对数据库文件加以编码
目的是为了防止他人使用别的工具来查看数据
库文件的内容。接下来我们为数据库加密,首先以
.
if session(”aleaveII1=…’then
response.redirect”login.asp”
response.end
end if
四、结束语
打开经过编码了的examp1.mdb.在打开时.选择 ASP+access网站相对脆弱的安全性使其成为
“独占”方式 然后选取功能表的“工具 安全 黑客攻击的目标.网站的建设和管理人员要有很
设置数据库密码”.接着输人密码即可 为examp1.
强的安全意识.增大安全管理的投入.加强安全政
mdb设置密码之后.接下来如果再使用ACCEES
策、安全管理组织和技术培训.动态地运用多种安
数据库文件时.则ACCESS会先要求输入密码.验
全策略。在实际操作中做到防患于未然.在程序设
证正确后才能够启动数据库 不过要在ASP程序
计和安全配置方面做好网站的安全工作,增强
中的connection对象的open方法中增加PWD的
web服务器、数据库文件、ASP页面等的安全性,
参数即可。例如:
param=“driver={Microsoft Access Driver( .mdb)};Pwd
yfdsfs”
构建一个相对较为安全稳定的动态网站。
参考文献:
[1】陈伟,张伟编著.局域网组建实例与技巧,科学出版社
param param&“:dbq ”&server.mappath rexamp1.
mdb”)
conn・open param
[2]吕晓杨,计算机网络应用,广东科技出版社
这样即使他人得到了examp1.mdb文件.没
-
+一+-+一+-+-+-+-+・・+-+-+-+-+一-4---4-“+一+…-4-+-+-+-+一+-+-+-—+一-+--+-一+一+ 十一+-+-+-+-+--4--+-+-——卜-■一-—+一一—+一一--卜一— -+一一—-卜-—‘+一
(上接第107页)
[21向才昂.一种用于多变量卡诺图化简的新方法UJ.湘潭
参考文献:
(7):71—76.
大学自然科学学报,1994(3):61—64.
1J],2008(12):31~34・
…刘天惠.多变量卡诺图的表示法.东南大学学报UJ,1993 【3j李碧芬.卡诺图法化简六变量逻辑函数.韶关学院学报
发布者:admin,转转请注明出处:http://www.yc00.com/news/1718934372a2753664.html
评论列表(0条)