ASP页面安全技术相关研究_论文

阅读: 评论:0

2024年2月8日发(作者:)

ASP页面安全技术相关研究_论文

技经济市场 ASP页面安全技术相关研究 邹青平钟诚 (南昌市科技信息中心,江西南昌330002) 摘 要:在高速发展的信息时代,Internet上Web站点已经成为主要的信息共享、交流的手段,。而如何保障Web站点的安 全成为当前普遍关注的焦点。本文对基于Asp的站点安全体系中的页面安全进行了探讨。本文阐述了asp安全中的常见页 面代码问题,如验证被绕过、用户名与口令被破解、特殊字符漏洞、文件泄露、数据库下载漏洞、SQL注入漏洞、ASP木马等七 个方面,并对每个方面的问题进行了剖析,并提出切实可行的防范技巧与方案。 关键词:asp;web安全;页面安全;网络安全 作用是在判断两个条件的时候,只要其中一个条件成立,等式将 会成立。而1肯定是等于1的,那么在这行语句中,原语句的 ”and”验证将不再继续,而因为”1:1”和”or”令语句返回为 真值。这将骗过验证,继续当验证为真时的操作。 解决的方法很多,比较简单的是使用replace函数替换字符 的方法来屏蔽掉单引号和空格。也可以专门用一个文件来屏蔽 掉所有可疑的特殊字符;或者对用户名和密码进行加密换算。目 前我们使用比较广泛的是MD5加密算法,用其对用户的用户名 和密码进行MD5加密,每次验证前先进行换算,将换算后的结 果拿出来比较。验证时可以使用如下SQL语句: select rfom users where user=…&md5(trim(request.form 随着经济全球化的发展,商家、政府、乃至个人都积极地寻 求在Internet上发布信息,提供网上管理和服务,从而使网页 设计和网站建设成为一种热门行业。 作为微软推出的网页与数据库解决方案,ASP由于有微软 得天独厚的操作系统等技术后盾支持,因此得到了迅速的发展, 并且正受到越来越多的欢迎。ASP具有简单、易用、多功能,可扩 充性等强大功能。但是,使用ASP技术制作的站点的安全性问 题一直都是Web站点安全问题的重要组成部分。 Web服务的安全主要可以分为自身安全、数据安全及页面 安全等三个方面。自身安全问题主要体现在操作系统、IIS服务 系统、数据系统等系统的先天性缺陷;数据安全问题主要与数据 的设计与组织存在重大关系;页面安全问题主要由页面代码产 生。 (”usemame”)))&…and password=…&md5(trim(request.ofm r(”username”)))&”’。 本文重点讨论的就是ASP页面代码设计安全问题。实践表 明,页面安全问题更多的是由于设计者在设计时不严谨产生的, 如果编写代码的时候多注意,是可以避免的。 1验证被绕过 如果用户知道了一个ASP页面的路径和文件名,而这个文 件又是要经过验证才能进去的,但是用户直接输入这个ASP页 而的文件名,就有可能通过绕过验证。例如,使用IP为 192.168.11.1 1这台服务器,使用login.asp进入登录界面,通过 此外,涉及用户名与口令的程序最好封装在服务器端,尽量 少在ASP文件里出现,涉及与数据库连接的用户名与口令应给 予最小的权限。出现次数多的用户名与口令可以写在一个位置 比较隐蔽的包含文件中。如果涉及与数据库连接,在理想状态下 只给它以执行存储过程的权限,千万不要直接给予修改、插入、 删除记录的权限。 3特殊字符漏洞 checkadmin.asp来验证用户和密码,如果用户和密码正确,就转 入main.asp进行后台操作。这时,如果将所有的关卡都放在 checkadmin.asp,而对main.asp页面没有设防,则攻击者只要直 接在地址栏输入http://192.168.1 1.1 1/admin/main.asp便可绕过验 证。 因此我们应该在所有需要验证的asp页面的开头处进行相 应处理。比如:判断session()并且跟踪上一个页面的文件名,只 有从上一页面转进来的会话才能读取这个页面。 2用户名与口令被破解 即使所有需要验证的asp页而都进行了相应的处理,但是 验证页面上的密码验证漏洞仍然可能使你的验证形同虚设,而 这实际上是vB SCRIPT中的一个小小的天然缺陷所造成的。 般我们都是将用户名和密码放在数据库中,在验证的时 候采用以下的sql语句: Set sql=”select from users where username=…&request(” 一name”)&…and password=…&request(”password”)&…,这其中双 引号是给vB解释的,单引号是给SQL解释的,即单引号括住的 数据将被SQL视为字符串。假如我们在文本框中输入这样的用 户名和密码:jack’or 1’=。l提交给程序。我们再看经过编译后 的程序,SQL判断就成了”select¥from users where usemame: ’jack’or…1= 1’and password:’jack’or…1:…1”;OR是逻辑运算符, 2010年第2期 输入框常常是恶意用户利用的一个目标,可通过输 脚本 语言等对用户客户端造成损坏;如果该输入框涉及数据查询,可 以利用特殊查询语句,得到更多的数据库数据,甚至表的全部。 因此必须对输入框进行过滤。 主要的防范技巧有: (1)表单来源过滤。尽可能过滤掉来自非本主机提交过来的 表单,可以判定request.servervariables(”http—referer”)中是否含有 ”http”头的提交地址。如果本页面自带表单处理,还可以进行更 安全的判定。 (2)表单内容的过滤。对于id、userid等类型的可以判定是 否为整数来过滤。如:http://*****/jobs.asp?id=100中如果未过 滤,可能会被人提交类似http://*****/jobs.asp?id=12 or 2=2等 取得非法信息。 (3)分清表单提交方法。对于用get方法传送数据,则用 request.querystring来读取数据。如果使用post方法传送数据,则 用request.orfm来读取数据。 (4)严格控制输入框的信息,对HTML/JavaScript/VBScript语 句、特殊字符尽量屏蔽,限定允许输人信息的范围以及对输入字 符的长度进行限制,如果在输入框中输入标准的HTML语句或 者Javaseript语句可能会改变输出结果。这样其实是很危险的, 假如在文本输入框中写入的是个Javaseript的死循环,就有可能 使其他用户的浏览器因死循环而死掉。因此编写类似程序时应 

技术平台 科技经济市场 该做好对此类操作的防范,譬如可以写一段程序判断客户端的 义函数来代替ASP中的Request函数,自行组织页面的出错提 输入,或者干脆屏蔽掉所有的HTM/ 、Javaseript语句。 示 如: 4文件泄露问题 Function SafeRequest(ParaName,ParaType) 当存在asp的主页正在制作并没有进行最后调试完成以 ’一传入参数… 前,可以被某些搜索引擎机动追加为搜索对象,如果这时候有人 ParaName:参数名称一字符型 利用搜索引擎对这些『矧页进行查找,会得到有关文件(.ine)的定 ’ParaType:参数类型一数值型(1表示以上参数是数 位,并能在浏览器中察看到这些文件完整的源代码,从而导致某 值,0表示以上参数为字符) 些敏感信息的泄露。 Dim ParaVahle 在要解决这一问题,首先在为.ine文件命名时,不要采用系 ParaValue=Request(ParaName) 统默认的或者有特殊含义容易被用户猜测到的文件名,尽量使 If ParaType=l then 用无规则的英文字母。其次还可以对.inc文件内容进行加密。最 If not isNumeric(ParaValue)then 后最好使用.asp文件代替.inc文件使用户无法从浏览器直接观 Response.write“参数”&ParaName& 看文件的源代码。 “必须为数值型!” 5数据库下载漏洞 Response.end 在用Access做后台数据库时,如果有人通过各种方法知道 End if 或者猜到了服务器的Access数据库的路径和数据库名称,那么 Else 这个Access数据库文件将有被下载的危险。 ParaValue=replace(ParaValue.…” ……) 对这个的主要防范技巧有: End if (1)给数据库文件名称起个复杂的非常规的名字,并把它放 SafeReqnest=ParaValue 在几层目录下。所谓“非常规”,比如有个数据库要保存的是有 End funotion 关工作的信息,可不要给它起个“jobs.mdb”的名字,而起个怪点 7 ASP木马 的名称,比如sdl9df.mdh,并把它放在如./edslf/o4u/ptdi/的几层 为什么程序被攻破后主机也随之被攻击者占据,原因就在 目录下,这样要想通过猜的方式得到Access数据库文件就难上 于ASP木马。它不是病毒,而是被放到Asp系统中的一个文件, 加难了。 常常难以找到。如何防止ASP木马被上传到服务器呢?如果Asp (2)不要把数据库名写在程序中。有些人喜欢把DSN写在 系统要支持文件上传,一点要设定好上传的文件格式,建议不要 程序中,比如: 使用可更改的文件格式,直接从程序上锁定,一般图象文件格 DBPath=Smwer.MapPath(“jobs.mdb”) 式,和压缩文件可以被上传就足够了。可参考如下程序代码: conn.Open”driver={Microsoft Access Driver( .mdh)l;dbq=” ’=:一==一==程序开始一:=一== &DBPath,这样固然可以使程序更加的灵活、方便,但同时也给 ’判断文件类型是否合格 数据库带来了可能泄露数据源物理路径的安全隐患,实际上并 Private Function CheckFileExt(fileEXT) 不是一种安全的做法。万一给人拿到源程序,Access数据库的 dim Forumupload 名字就一览无余了。如果单纯从安全的角度考虑,建议在ODBC Fommupload=”gif,jpg,bmp,jpeg’’ 中设立数据源,再在程序中使用数据源名来打开数据库。这样在 Forumupload=split(Fommupload.”,”) ASP的程序文件中将不会直接涉及到数据库文件的物理路径, f0r i=O to ubound(Forumupload、 即使文件的源代码泄露,所能看到的也只是一个数据源的名称。 if lease(ifleEXT ̄}=lcase(trim(Forumupload(i)))then 当然,这样是以牺牲程序的灵活性为代价的。 heckFi】eExt=tnle (3)使用Access来为数据库文件编码及加密。首先在“工 具一安全一加密/解密数据库”中选取数据库(如:johs.mdb),然 else 后按确定,接着会出现“数据库加密后另存为”的窗口,可存为: CheckFi1eExt=false “jobs1.mdb”。 end if 接下来为数据库加密,首先打开经过编码了的 ohs1.mdb, next 在打开时,选择“独占”方式。然后选取功能表的“T具一安全一 End Function 设置数据库密码”,接着输入密码即可。这样即使他人得到了 ’验证文件内容的合法性 iobsI.mdb文件,没有密码也是无法看到jobs1.mdb中的内容。 set MyFile=selwer.CreateObject(”Scripting.FileSystemObject”) 6 SQL注入漏洞 set MyText=MyFile.OpenTextFile(sFile,1)’读取文本文件 注入漏洞在网上极为普遍,通常是由于程序员对注人不了 sTextAll=lease(MyText.ReadAl1):MyText.close 解,或者程序过滤不严格,或者某个参数忘记检查导致。SQL注 ’判断用户文件中的危险操作 入的原理,就是从客户端提交特殊的代码,从而收集程序及服务 sStr=”8.geffolder.createfnlder.deletefolder.ereatedireetory 器的信息,从而获取你想到得到的资料。SQL注入是从正常的 .deletedirectory” www端口访问,而且表面看起来跟一般的Web页面访问没什 sStr=-sStr&”.saveaS wscript.shell script.encode” 么区别,所以目前市面的防火墙都不会对SQL注入发出警报。 sNoString=split(sStr.””) 防范技巧: fnr i=l to sNoString(0) (1)程序设计时,最重要的是对客户端提交的变量参数进行 if instr(sTextAl1.sNoString(i))<>0 then 严格的过滤检查: sFile=Up1.Path&sFileSave:fs.DeleteFile sFile (2)程序错误处理能力要设计周全、合理,避免泄露数据库 Response.write”<center><br><hig>”&sFileSave&”文 相关信息。一方而可以指定出错的页面,另一方面,可通过自定 (下转第4页) 2010年第2期 

台 企业,与企业原来的形态,肯定不一样,这就是差异,也就是变 异。 技经济市场 企业文化等)。因此,对企业基因进行重组,就是对企业的法律形 态、产品类型、组织形态、企业文化等制约企业发展的元素片段 进行重新组合。企业基因的不同组合,会使企业形态各异。下面 仅以企业的法律形态、产品类型、组织形态基因片段为李,来说 明企业基因的组合的情况(见表1)。 3.2.2诱发企业基因突变 基因突变是指由于DNA碱基对的置换、增添或缺失而引起 的基因结构的变化。在自然条件下发生的突变叫自发突变,由人 工利用物理因素或化学药剂诱发的突变叫诱发突变。基因突变 是生物变异的主要原因,是生物进化的主要因素。在生产上人工 诱变是产生生物新品种的重要方法。 企业虽然是一个生命体,自身也具有基因,但它是一个人在 系统,不是自组织,因而无法自动完成基因的突变,必须由人工 来诱发。例如,企业法律系形态有不同的种类,产品多种多样,组 织形态也有很多。这三类基因片段的不同变化,都可以引起企业 的变异。因此,企业可以通过诱发这j类基因片段发生变化的方 式,来实现企业的蜕变。不同的诱发情况见表2。 表2 诱发企业基因突变实现企业蜕变的不同情况 、当然,企业作为~个人造系统,虽然具有生命体的某些特 征,但它不完全是一个自组织。也就是说,企业的变异(蜕变)是 不可能自动完成的,必须有外界力量的推动和控制。由于管理企 业的是人,所以,企业蜕变(变异)的过程必须由企业的员工来完 成。企业的员工(主要是管理人员)可以通过某种方式诱发企业 基因突变或直接对企业基因进行重组,来完成企业变异(蜕变) 的过程。 3.2企业蜕变的方法是重组企业基因或诱发企业基因突变 3.2.1重组企业基因 ・ 奥瑞克、琼克和威伦(2003)【4]最先提出企业基因重组的概 念。他们把企业基因(也称能力要素)定义为企业的基本结构元 素,并提出将业务单元重新进行组合(即将本企业某些部分与企 业外的一些部分重新组合),用类似在生物工程中取出一个好的 基因来刨造一个全新的、更强的基因组的做法,形成更有效的企 业DNA,组建一个更专业、更简洁的企业组织l 5l。 就像人的体态特征是由一系列复杂的人类基因组所决定的 那样,他们视企业为一个能力要素的组合,并认为正是分布于企 业中的这些能力要素决定了企业的价值。通过对大量基因图谱 的研究,我们对人类基因的组合序列有了逐渐清晰的认识。然而 在商业领域,一个崭新的企业基因工程时代已经渐露端倪。 过去我们关注的是整个企业或业务单元的健康,而未来我 们将越来越多地关注独立的业务构成单元,即企业基因。每个业 务能力要素就是企业价值链中对企业产品有独特贡献的一个组 成部分。企业基因组掌握着企业的“遗传密码”,这些“遗传密码” 决定了企业销售什么、销售对象是谁以及可以配置哪些资源16]。 表1 、\、\纽 基因片段 刃、\、\ 法律形态 产品类型 组织形态 l 2 不变 不变 不变 变化 变化 不变 3 4 ~ 6 变化 变化 不变 变化 不变 变化 文化 不变 不变 不变 变化 变化 企业基因的不同组合促使企业蜕变 法律形态 产品类型 组织形态 、基因片段 \ 组合惰 、\、1 2 3 表2只给出了6种大致组合情况,其实,如果将每个基因片 段的详细种类都写出来,企业变异的类型可能有好几十种。 参考文献: 相同的 相同的 不 的 相同的 不同的 相同的 不同的 摆同的 相同的 …丁任重.企业生命体IM].北京:天地出版社,2004. [2]韩福荣,徐艳梅 企业仿生学【M]北京:企业管理出版社,2002. 【3]武汝廷企业基因管理模式初步设计 河北经贸大学学报,2004(2): 70-76. 4 不厨的 不同的 棺同的  【5 6 相匮的 不同的 不同的 相同的 不同的 不同的 [4](荷)约翰-c.奥瑞克等.企业基因重组【M】.北京:电子工业出版社, 2003. 企业基因是企业生命体中某些具有遗传功能的能够影响和 制约企业发展的元素的片段(如企业制度类型、产品、组织形态、 [5]刘燕娜,戴永务,林纾等.基于企业基因重组理论的资源节约型企业的 创建研究Uj生态经济,2006(5):62—63,67. 【6】王伟,黄瑞华企业基因重组理论与国有企业战略转换[『1l预测,2005 (1):34—39. (上接第6页) 件中含有与操作目录等有关的命令”&一 ”<br><font color=red>”&mid(sNoString(i),2)&”< /font>,为了安全原因,<b>不能上传。<b>”&一”</big>< /center></html>” Response.end end if next 过是沧海一粟。由于笔者的水平有限,一些相关理论未能深入地 探讨和阐述,只是基于基本层面的一个综合研究,理论深度还有 所欠缺,希望在今后的工作和学习的过程中可以继续在相关的 领域中学习和发展。 参考文献: [1]庞娅娟,孙明丽等.ASP技术方案宝典【M】.北京:人民邮电出版社, 2008 程序结束==:一:======= 把这段代码加到上传程序里做一次验证,那么上传程序安 全性将会大大提高。 Web安全问题是一项非常庞大的系统工程,本文提及的不 =:=一=一:==’[2】张庆华lf司络安全与黑客攻防宝典IM]北京:电子工业出版社,2007. f3]Mike Shema Web安全手- ̄tlf-[M].北京:清华大学出版社,2005. [4】(美)豪沃(Howard,M.),(美)勒伯兰克(LeBlanc,D.)等.软件安全相 关的19个致命漏洞p州北京:清华大学出版社,2006. 。 2010年第2期 

ASP页面安全技术相关研究_论文

本文发布于:2024-02-08 10:34:49,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170735968967270.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:企业   数据库   文件   程序
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23