基于ASP网站的安全性与实现

时间:2024-03-27 点赞:50829 浏览:102475 作者原创标记本站原创

该文是论文下载专业攻击者论文范文,主要论述了关于攻击者相关毕业论文参考文献格式,与基于ASP网站的安全性与实现相关论文范文文献,适合攻击者及网站及文件方面的的大学硕士和本科毕业论文以及攻击者相关开题报告范文和职称论文写作参考文献资料下载。

摘 要: Web技术飞速发展的同时,也给网络的安全性带来极大的挑战,主要从专业技术角度分析ASP网站可能存在的安全隐患,并提出相应的防范措施及解决方案.

关 键 词 : ASP;安全;漏洞;防范

中图分类号:TP393.08 文献标识码:A 文章编号:1671-7597(2011)1210108-02

0 引言

网络已经影响到社会的政治、经济、文化、军事和社会生活的各个方面.以网络方式获取信息和交流已成为现代信息社会的一个重要特征.当今大多数网站使用的是ASP技术,用户在登录及存储时存在着不少安全隐患,因此,对ASP网站安全性做出进一步的判断和强化,最大限度的做到保护用户信息的完整性和保密性,成为网站开发和维护人员的一项重要工作.

1.ASP技术简介

1.1 ASP技术的定义

ASP是ActiveServerPage的缩写,意为“动态服务器页面”.ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具.由于ASP比较简单易学,又有微软这个强大后台的支持,所以应用广泛,相对来说发现的缺陷和漏洞也比较多.

表1 某权威网站统计的各网站技术平台市场占有率

1.2 ASP技术的特点

ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序.ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等.利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序.与HTML相比,ASP网页具有以下特点:

1)服务器上的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页.

2)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取.

3)方便连接ACCESS与SQL数据库.

图1 ASP网页特点

2.常见ASP网站的安全缺陷及防范方法

2.1 利用ASP网站管理漏洞下载MDB数据库

ASP站点通常都使用Microsoft Access的MDB数据库文件存储用户信息,而MDB文件是可以直接下载的,所以只要知道MDB文件的路径就可以轻松获取MDB文件.常见的获取MDB存储路径的方法有:

1)找源代码分析.现在很多的ASP网站都是利用互联网上的的开源代码建站的,只要得到与该网站相同的开源代码,里面就有数据库文件的配置路径,而很多初涉此道的网站管理员根本不懂asp或者是没有足够的安全意识,得到网站源代码后直接安装使用,这就造成了入侵的机会.比如某知名论坛的MDB路径是bbs/data.mdb,那么输入.省略/bbs/

Data.mdb就可以下载数据库了.

2)水平稍高的网站管理员懂得ASP文件仅在服务器端运行,是不会被文件直接发送到用户端的.于是他们会利用这一特点,将mdb文件的后缀改成asp,认为这样的文件类型用户是无法下载的.但这种方法缺陷依然明显,由于MDB文件并不是真正的ASP源代码文件,所以里面并没有ASP特征代码<%%>,服务器并不认为修改了扩展名的MDB文件就是ASP文件,还是会将这样的ASP文件直接发送到用户端,用户依然可以实现下载.

防范方法:修改MDB数据库文件名和存放路径,并在服务器中将数据库文件存放目录的属性设置为禁止下载,另外还可以增加加密解密模块对数据库文件内容进行加解密存取.

2.2 利用ASP网站SQL代码漏洞进行注入式攻击

所谓注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.假如网站建设者没有采取相应措施防范,就很容易为攻击者侵入.ASP传输数据的方式分为get式提交和post式提交两种,get式是通过将数据添加到URL后提交的方式,pos式则是利用邮寄信息数据字段将数据传送到服务器.因而常见的入侵手段也包括两种,如图2所示:

图2 利用ASP网站SQL代码漏洞进行注入式攻击方式

1)表单控件post式入侵.例如,某个ASP Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个用户名和.如果攻击者在用户名文本框内输入:abc,而在框内输入:123'or1等于1,则SQL语句变成:select*from admin where username等于'abc’and

password等于'123'or1等于1,由于表达式username等于'abc'and password等于'123'or1

等于1恒成立,于是不管攻击者输入任何用户名与,都能轻易骗过系统,获取合法的攻击身份.

2)地址栏链接get式入侵.例如:某个ASP文章系统网站的一篇文章的链接地址是HTTP://.省略/art.aspp等于2011984634871,攻击者可编辑浏览器地址栏增加新的代码形成HTTP://.省略/art.aspp等于201

1984634871;backup database to disk等于'd:\root\se.mdb',接下来攻击者只需使用链接HTTP://.省略/se.mdb就可以下载到网站的数据库文件了.


防范方法:其实防范的方法很简单,我们把特殊字符(如and、or、'、"等等)都禁止提交就可以防止get提交方式注入了.具体代码如下:

<%

dim sql_leach,sql_leach_0,Sql_DATA

sql_leach 等于 "',and,exec,insert,select,delete,update,count,*,%,chr,mid,master,truncate,char,declare"

sql_leach_0 等于 split(sql_leach,",")

If Request.QueryString<>"" Then

For Each SQL_Get In Request.QueryString

For SQL_Data等于0 To Ubound(sql_leach_0)

if instr(Request.QueryString(SQL_Get),sql_leach_0(Sql_DATA)

>0 Then

Response.Write "请不要尝试进行SQL注入!"

Response.end

end if

next

Next

End If

%>

接着我们还需要过滤以post提交方式的注入,我们可以看到,request.form也是以数组形式存在的,只要对它再进行一次循环判断就可以了,限于篇幅,笔者就不再赘言了.

2.3 利用Session入侵ASP网站

什么是Session?当一个访问者来到网站的时候一个Session就开始了,当他离开的时候Session就结束了.本质上说,Session是服务器上用来存储状态信息的一些资源变量.以下我们以用户登录页面为例说明Session欺骗式入侵的实现方法:

一般来说,后台管理员在登录页面输入用户名后,ASP程序会拿着他提交的用户名去数据库的管理员表里面找,如果有这个人的用户名就认为你是管理员,然后给你一个表示你身份的Session变量值.然后你进入任何一个管理页面它都要首先验证你的Session变量值,如果是管理员就让你通过,不是的话就引导你回到登录页面.而攻击者可以利用木马编辑器来人为的在服务器上生成代表管理员身份的Session值,于是攻击者便取得了合法的管理员身份.

防范方法:防范的关键是不能让攻击者预知Session变量名,因此ASP网站中但凡重要的Session值其变量名都不使用固定的变量名,而是让变量名取自字符串+随机数捆绑的方式,这样,攻击者就失去了入侵的门户.

3.结语

安全问题是任何网络应用开发所关注的首要问题,由于ASP技术的应用领域广泛,熟悉其特点及缺陷的技术人员众多,更需要对安全问题给予足够的重视.笔者此文旨在抛砖引玉,希望以上研究能够为参与ASP技术应用和网络安全维护的技术人员起到一定启发作用.

相关论文

计算机网络网站的安全性问题

这篇计算机论文范文属于计算机管理免费优秀学术论文范文,关于计算机类电大毕业论文,与计算机网络网站的安全性问题相关计算机网络专科毕业论。

计算机网络网站的安全性问题

本文是一篇计算机论文范文,关于计算机毕业论文格式,关于计算机网络网站的安全性问题相关硕士学位毕业论文范文。适合计算机及计算机网络及网。

基于ASP技术的教学网站设计

本文是一篇大学学报论文范文,大学学报方面函授毕业论文,关于基于ASP技术的教学网站设计相关毕业论文提纲范文。适合大学学报及设计类及在线。

基于ASP技术的精品课程网站开发

本文是一篇精品课程网站论文范文,精品课程网站有关硕士学位论文,关于基于ASP技术的精品课程网站开发相关硕士论文范文。适合精品课程网站及。

基于ASP技术的个人网站开发

本文是一篇个人网站论文范文,关于个人网站相关毕业论文开题报告范文,关于基于ASP技术的个人网站开发相关毕业论文开题报告范文。适合个人网。