基于Access的ASP网上应用系统的安全隐患及对策

基于Access的ASP网上应用系统的安全隐患及对策


2024年6月21日发(作者:)

大理学院学报 

J0URNAL OF DALI UNlVERSITY 

第7卷第12期2008年12月 

VOl 7 No12 Dec.2o08 

基于Access的ASP网上应用系统的安全隐患及对策 

陈建华 

(大理学院教学科研服务中心,云南大理671003) 

[摘要]基于Access数据库的As瞰术已经被广泛应用在电子商务、校园网等各种互联网中的实际,通过对 

Access存储隐患、Access解密隐患、SQL注入攻击隐患以及源代码安全性隐患的分析,给出了相应的解决对 

策,使ASP+Access上应用系统的安全性得到有效保证。 

[关键词]隐患;对策;sQL注入;加密;解密 

[中图分类号]TP311.131[文献标识码]B[文章编号]1672—2345(2008)12—0072—03 

The Security Issues and of ASP Online Application System Based on Access and their Solutions 

CHEN Jianhua 

(Centre for Teaching and Research Services,Dali University,Dali,Yunnan 671003,China) 

[Abstract]The ASP technology based on Access has been widely used in e—commerce,campus network and other Internet 

environment.This paper analyzes the hidden security issues of Access storage and decipher,the hidden security issues of SQL 

injection attacks,and the hidden security issues of source codes.To the problems,we present the solutions to guarantee the security 

of online application system that is based on ASP and Access. 

[Key words]hidden security issues;solutions;SQL injection;enerypt;decipher 

Web技术随着Internet技术的发展而不断向前 

发展。目前,许多中小型网上应用系统都选用ASP与 

cess数据库的完整路径,然后再将数据库下载,查看 

数据库中的管理员数据,再登录网站后台修改后台 

数据就是水到渠成的事了。因此,有效防止Access数 

据库被下载是提高ASP和Access应用系统安全性的 

关键。 

1.2防止Access数据库被下载的安全对策 

Access相结合的方案。此方案在为我们带来便捷的 

同时,也带来了不容忽视的安全问题。ASP+Access 

网上应用系统的主要安全隐患来自Access数据库的 

安全性及ASP网页设计过程中的安全漏洞。 

1 Access存储隐患及其对策 

1.1 Access数据库的存储隐患在ASP+Access应 

1.2.1 非常规命名法 为防止数据库被下载的简 

便方法就是为Access数据库文件起一个复杂的非常 

规名字,并把它存放在多层目录下。例如,我们在做 

用系统中,大多情况下,网站的数据库链接路径都 

是放置在inc文件夹下的conn.asp中,conn.asp文件的 

下载路径一般是http://域名/inc/conn.asp。对于攻击 

个网站时,如果把实现新闻发布的数据库命名为 

news.mdb”,那么很容易被猜到,我们可以给它改一 

者而言只需要将这个文件下载后就可以找到其Ac— 

[收稿日期]2008—05—27 

个复杂的名字,再把它放在多层目录下。当然,也可 

[作者简介]陈建华(1979一),女,云南鹤庆人,助教,主要从事计算机教学研究 

72 

总第60期 陈建牮基子Aceess的ASP网上应用系统的安全隐患及对策 第7誊 

以开辟一个新的虚拟目录,存放重要的数据库文 

件。这样非法用户想通过猜文件名的方式得 ̄1]Ac— 

台。如果觉得这种加密不是足够安全,那么可以进 

行二次或多次反复加密。 

cess

数据库几乎是不可能。 

1.2.2将数据库文件的扩展名改为,asp此方法是 

目前应用中使用得比较多的。其原理是利用IIS对文 

件的解释执行操作来达到保护的目的。当用户访问 

个以.asp为后缀名的文件时,IIS需要在返回前对 

其进行解释执行的操作。而实际上这些文件是mdb 

格式的Access数据库文件,因此IIS将返回一个 

“H1TrP500服务器错误”…。 

1.2.3数据库名前加“#” 因为下载的时候只能识 

别#号前的部分,对于后面的字符会自动去掉,这样 

数据库是不可能被下载的[2]。 

1.2.4使用ODBC数据源在ASP程序设计中,应尽 

量使用ODBC数据源,这样可以防止数据库文件地 

址被暴露。而不要把数据库名直接写在程序中,否 

则,ASP源代码一旦被获得,数据库也就不再安全 

了。 

除此之外,将数据库文件放在web目录外也是 

种防止数据库被下载的方法。 

2 Access数据库的解密隐患及其对策 

2.1 Access数据库的解密隐患 由于Access数据库 

的加密机制非常简单,所以即使数据库设置了密 

码,解密也很容易。该数据库系统通过将用户输入 

的密码与某一固定密钥进行异或来形成一个加密 

串,并将其存储在 .mdb文件中从地址“&H42”开始 

的区域内。由于异或操作的特点是“经过两次异或 

等于原值”,3],因此,用这一密钥与 .mdb文件中的 

加密串进行第二次异或操作,就可以轻松地得到 

Access数据库的密码。因此,无论是否设置了数据库 

密码,只要数据库被下载,其信息就没有安全性可 

一—一 

日J O 

2.2防止Access数据库被解密的安全对策 防止 

Access数据库被解密,可以使用加密算法来保障数 

据库的安全。目前在ASP中用得比较多的是使用 

MD5对密码加密( ,这种算法目前有16位和32位两 

种,同时这种算法是不可逆的,如果密码足够强健, 

加密之后即便是别人知道了加密数据也不能解密。 

这样,即使攻击者下载了数据库,也未必能进入后 

3 SQL注入攻击隐患及其对策 

3.1 SQL注入攻击隐患所谓SQL注入就是利用程 

序员对用户输入数据合法性检测不严或者不检测 

的特点,故意从客户端提交特殊的代码,从而收集 

程序及数据库的信息来获取想要得到的资料。通常 

攻击者的目标是获取网站管理员的账号和密码。 

SQL注入不仅可能使计算机用户的敏感的数据库信 

息被非法浏览、修改和删除,甚至可能使用户的服 

务器被黑客控制,从而严重威胁网络安全[5]。SQL 

注入攻击有一种常见的形式就是构造特殊字符使 

其产生不安全的SQL指令,从而威胁网络安全。比 

如:我们在设计一个具有访问权限的登录页面时, 

在登录验证中一般会使用以下sQL语句: 

sql:”select from users whe ̄:e username=”’ 

&username&…and password=”’&password&…”此时, 

攻击者会根据SQL构造一个特殊的用户名和密码, 

如:xyz~or 1’=’1,于是,程序就会变成这样:sql=”select 

rfom users where username=’xyz’or’1’=’1’and Pass- 

word=' password…,那么原语句的“and”验证将不再继 

续,而因为“1=1”和“or”令语句返回值始终为真,数 

据库将返回users表格中的所有记录,ASP脚本将会 

因此而误认为攻击者的输入符合users表格中的第 

条记录,从而允许攻击者以该用户的名义进入本 

来没有特权的页面。 

SQL注人攻击还有另一种形式,它发生在ASPJ] ̄ 

务器根据querystring参数动态生成网页时。比如:一 

个ASP页面从URL中提取出querystring参数中的ID 

值,然后根据ID值来显示特定ID值的文章的内容, 

有这样的SQL指令代码:sql=”select from articles 

where ID--”&ID,而ID值是由URL中的querystring参 

数指定的,那么,当URL为:http://www.example.corn/ 

article.asp?ID=1055tt ̄,,ASP就会根据ID为1055的文 

章提供的内容生成页面。而攻击者如果把URL换成: 

http://www.example.com/article.asp?ID=0 or 1=1,就 

会诱使ASP脚本生成不安全的SQL指令代码:select 

rfom articles where ID=0 or 1=1,于是,数据库将会 

返回所有文章的内容,更有甚者,攻击者还会用同 

73 

总第60期自然科学 

样的手段发送DELETE等SQL指令,通过“http:// 

www.example.corn/article.asp?ID=1 055:delete from 

articles”之类的URL来访问Web网站,导致数据库中 

的数据被删除。 

3.2防止SQL注入攻击的安全对策要防止上述 

两种攻击行为,可采用以下两种方法:①是禁止引 

号之类的非法字符输入 6]。在登录页面的例子中,脚 

本期望得到的两个输入变量(usemame和password) 

均为字符串类型。无论用户在哪个参数中插入单引 

号,都可能让数据库执行单引号中的SQL指令。为了 

杜绝此类SQL注入攻击,可以借助Replace函数剔除 

单引号,可输入以下的代码来解决:username=Replace 

(Request.Form(”username”),…”,…’),password=Re— 

place(Request.Form(”password”),…”,…’)。②是限定 

输入域的内容必须属于某种数据类型。在第二个例 

子中,脚本期望的输入变量是长整型变量(ID)。用 

户可以通过在ID参数中插入特殊字符来运行不安 

全的SQL指令。为了杜绝此类SQL注入攻击,我们只 

需要借助CLng函数限制ID值为长整型变量就可以 

了。代码为:ID=CLng(Request(”ID”)),当用户试图 

在ID中包含特殊字符时,CLng就会产生一个错误。 

4源代码安全性隐患及其对策 

4.1 源代码安全性隐患ASP程序的非编译性大 

大降低了程序源代码的安全性。只要进人站点的人 

就可以获得ASP程序源代码。 

4.2防止源代码泄露的对策 为有效地防止ASP 

源代码泄露,可以对ASP页面进行加密。目前对ASP 

页面加密的方法有三种:脚本编码器(SRCENC. 

EXE)加密、组件加密、自编程序加密。 

4.2.1脚本编码器加密脚本编码器加密是指使 

用微软提供的脚本编码器Script Encoder进行加密, 

这是一个简单的命令行工具,其执行文件是SR— 

CENC.EXE,需要在DOS下运行。加密的命令格式 

为:SRCENC[/s][/f][/x1][/1:defLanguag][/e:defEx— 

tension]inpuffile outputifle。 

其中的参数含义如下: 

S:屏蔽屏幕输出; 

f:指定输出文件是否覆盖同名输入文件; 

74 

大理学院学报 

xl:是否在.asp文件的顶部添 ̄I@Language指令; 

l:defLanguag指定缺省的脚本语言; 

e:defExtension指定待加密文件的扩展名。 

4.2.2组件加密 用脚本编码器加密过的程序,是 

可以解密的,如果想彻底保护自己的ASP代码,可用 

开发activex dll组件的方法进行保护。 

Dll文件是被编译过的机器代码,如果没有源项 

目文件,是不可能被反编译的,所以组件加密这种 

方法最安全,也不可能被破解。 

4.2.3 自己编写加密程序组件加密方法虽然不 

可破解,但是要求熟悉VB编程,需要把ASP代码改 

写成VB组件,工作量很大,所以我们可以自己编写 

加密程序来保护ASP代码,其基本思路是:写一个加 

密函数base64Encode和解密函数base64Decode,先用 

加密函数处理(要保护的asp代码),得到对应的密文 

hu;然后再用execute(base64Decode(hu))替换(欲保 

护的asp代码)。 

5 结束语 

综上所述,我们可以通过多种途径和手段来防 

止ASP结合Access数据库应用中安全隐患的发生, 

以上是笔者在ASP+Access开发过程中的一些经验 

总结。在平时的校园网站维护中就采用了以上的安 

全对策,从一段时间的运行情况来看,达到较好的 

安全效果。 

[参考文献] 

[1]邵纯,黄上腾.IIs下Access数据库的安全性分析与策略 

[J].计算机应用与软件,2006,23(3):118—119. 

[2]蒋伟钢.基于AsP的动态网站核心技术分析[J].福建电 

脑,2005(2):30—32. 

[3]徐敏,文远.Access2000 ̄I7学即会[M].北京:科学出版社, 

1999:320—322. 

[4]马海滨.sQL注入的危害、检测及防范[J].电脑知识与技 

术,2007(11):1270—1271. 

[5]汪莉莉,鲜明.sQL注入与安全防范技术分析[J].通信电 

源技术,2007,24(3):73—75. 

[6]田支斌_ASP代码安全研究[J].网络安全技术与应用,2004 

(2):64—66. 

[7]孙丽萍,吴红普.ASP编程基础及应用实例[M].北京:人 

民邮电出版社.2001:85—86. 


发布者:admin,转转请注明出处:http://www.yc00.com/news/1718909931a2753485.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信