欢迎来到天天文库
浏览记录
ID:44194856
大小:37.11 KB
页数:3页
时间:2019-10-19
《浅谈ASP的安全漏洞与应对策略》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、浅谈ASP的安全漏洞与应对策略摘要:从ASP程序设计、数据库、防范远程注入三个方而对ASP的安全技术进行分析和总结,并指出ASP技术中存在的安全隐患。ASP是微软推出的服务器端脚本环境,它把脚本、HTML、ActiveX组件有机地结介在一起,形成动态、交互、高效的Web服务器应川程序,ASP+Access(或SQL)已成为很多人构建口己网上信息系统的首选方案。虽然ASP具有快速开发能力,由于ASP自身存在的安全漏洞,在编写程序的时候稍不小心就会给自己的网站留下很大的女全隐患。试图从ASP程序设计、数据库、防范远程注入三个方面对ASP的安全技术进行分析并提出建议。关键词:ASP;数据库;远程
2、注入ASP是ActiveServerPage的缩写,意为“动态服务器页而”,它一个是服务器端脚本编写环境,使用它可以组合HTML页、脚本命令和ActiveX组件,以创建交互的Web页和基于Web的功能强大的应用程序。ASP+Access(或SQL)是大多数人在设计口己的网站的时候的首选方案,程序员在编写网站程序的时候必须注意ASP自身存在的安全漏洞,养成良好的编写习惯,避免自己的网站受到攻击者的成功入侵。文章从三个方面对ASP的女全漏洞进行分析:ASP程序设计、数据悴、远程注入式攻击,并提出应对策略供人家参考。1ASP程序设计的安全漏洞及其应对策略1)用户名和口令。用户名和口令是攻击者最感
3、兴趣的东西,如果编写程序的时候不小心把用户名与口令出现在了ASP的文件里,后果是很严重的。所以在编写程序的时候有关用户名与口令的程序最好封装在服务器端,避免在ASP文件甲出现,并且用程序给予涉及与数据库连接的用户名与口令最小的权限,出现次数多的用户名与口令可以写在一个位置比较隐蔽的包含文件小。2)注册验证。为了自己网站的女全和管理,在建站的时候往往都需要对用户进行注册和验证。有些程序员在编写验证的ASP程序人多是在页面头部只加一个判断语句,但这是不够的,有可能被黑客绕过验证直接进入。建议需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。可以利用
4、Session对象和Http头信息来实现此类安全控制。当访问者通过身份验证页面后,就把Session对象的Sessionid属性作为-一个Session变量存储起來,当访问者试图导航到一种有效链接的页面时,可将当前的Sessionid少存储在Session対彖中的ID进行比较,如果不匹配,则拒绝访问。3)INC文件泄露。有些程序员在网页发布前没对它进行很彻底的调试,结果发布后可以被某些捜索引擎机动追加为搜索对彖。如果这时候有人利用捜索引擎对这些网页进行查找,会得到有关文件的定位,并能在浏览器中查看到数据库地点和结构的细节,并以此揭示完整的源代码。为了避免这样的结果,在发布口己的网站前要对它
5、进行很彻底的调试,并且对INC文件内容进行加密,也可以用ASP文件來代替INC文件,以防用户从浏览器中冑接看到文件的源代码。尽量不要用系统默认或者容易被用户猜测到的名称來命名INC文件,最好用无规则的英文字母作为其文件名。4)口动备份下载:在有些编辑程序的丄具中,创建或修改一个ASP文件时,编辑器会口动创建一个备份文件。如果忘记删除这个备份文件,攻击者就町以直接下载这个备份文件,就和当于源文件被下载。所以在上传程序Z前要仔细检查,删除由编辑器自动备份的文件,特別是BAK文件。5)特殊字符。冇的程序员在处理输入框的ASP程序中,没冇屏蔽掉特殊语句,给攻击者提供了机会。攻击者可以通过输入脚本语
6、言等对用户端造成破坏。如果该输入框涉及数据查询,他们就会利用特殊语句得到更多数据库数据,盗取重要信息。在处理输入框的时候就要求程序员对输入也进行过滤,最好屏蔽掉HTML>javascript^VBScript语句,如果没冇特殊要求可以限定只允许输入字母或数字,屏蔽掉特殊字符,同时对输入字符的长度进行限制。在正式发布网站之前不但要在客户端进行介法性检查,还要在服务器端程序屮进行类似检查。2数据库的安全漏洞及应对策略。在用Access或SQL做后台数据库时,对数据库文件的安全没有做到全而防护,如果攻击者想入侵数据库,就会缺乏防御能力,攻击者会通过很多方式或直接猜测就可获得数据库的路径和
7、数据库名称进而能够下载数据库文件。数据库的安全隐患主要有三个方而:数据库文件的命名和存储、程序、数据库加密。1)数据库文件的命名和存储。为了方面记忆,有些程序员在命名数据库文件的时候会起一个一看就知道里面存储了与哪些东西和关的名字,比如在存储衣服的信息时,命名存储文件为:“clothe.mdb”,并存放在比如“./wed/clothe”这样的路径下面,这样常规的命名和存储路径会给攻击者很多机会可乘,儿乎通过猜想的方式都可
此文档下载收益归作者所有