欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 毕业论文 > 计算机毕业论文

浅析Asp.Net常见安全漏洞及其解决方案_IIS

时间:2012-03-01  作者:秩名

论文导读::目前基于ASP的网站主要安全问题。但是,需要看到使用ASP编制的网站的安全性不容忽视。
论文关键词:网站,安全,ASP.Net,IIS

 

1、目前基于ASP的网站主要安全问题

ASP具有简单、易学性,用户可以方便的编制出动态网页。但是, 需要看到使用ASP编制的网站的安全性不容忽视。非法用户通过ASP网页的一些漏洞,攻入系统,可以获得合法用户的权限, 或者获得服务器的权限。常见有如下几种攻击方式。

1.1 SQL注入式攻击

很多网站都有用户登录页面,需要验证用户名和密码。当验证时,检查用户输入的登录名和密码是否存在于数据库中,如果存在,证明该用户合法,反之,为不合法用户。例如,在测试中,输入一个已经存在的用户名:administrator,密码输入“1’or‘1’=‘1”IIS,单击登录按钮,非法登录成功。

1.2 查询串式数据传递

查询串式是一种URL 方式,是实现Web 页面间数据传递最基本的方法,操作简单,可以很方便的实现不同Web 页面间的数据传递,但其安全性比较差,其实现方法就是将要传递的数据附在URL后面,如http://localhost//jiaoyu//learning.aspx?username=teacher,其中?后面所跟着的字符串便是传递的数据,可以使用Request对象来获取传递的参数,如Request("username")。

1.3 暴力破解用户名密码

非法用户惯用的手段, 如果知道了某个用户的用户名后。通过暴力手段的形式,不断尝试各种密码,以破解其密码,而登录系统。对于一些简单的密码, 这种方法可行,如果一些复杂的密码,则需要较长的时间。

1.4 绕过验证直接进入ASP 页面的漏洞

如果用户知道了一个ASP 页面的路径和文件,而该文件需要经过验证才能进去,但是用户直接输入这个ASP 页面的文件名,就有可能绕过验证。如在IE 中输入如下代码:

http://serverURL/search.asp芽page=1这样就可能看到系统管理员才能看到的页面。为了防止这种情况会在search.asp 的开头加个判断,如判断session(“system_name”)是否为空,如果不为空时就能进入,这样上面的URL 请求就不能直接地入管理员页面。但这种方法同样也存在漏洞,如果攻击者先用一个合法的账号,或者在本地机上生成一个session,如session(“system_name”)=“admin”, 因为session不为空IIS,同样也能绕过验证直接进入管理员页面。

1.5 Access 数据库漏洞

在用Access 做后台数据库时,如果有人通过各种方法知道或者猜到了服务器的Access 数据库的路径和数据

库名称,那么就能够下载这个Access数据库文件,这是非常危险的。例如,Access 数据库student.mdb 放在虚拟目录下的database 目录中,那么在浏览器中输入:http: // serverURL /database / student.mdb如果student.mdb 数据库没有事先加密的话,那么student.mdb 中所有重要的数据都掌握在别人的手中。另一方面,由于Access数据库的加密机制也比较简单,即使设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行“异或”来形成一个加密串,并将其存储在*.mdb 文件从地址“&H42”开头的区域内论文网站。可以很轻松地编制解密程序,很容易获得任何Access 数据库的密码。因此,数据库如果被解密,那么就很容易对整个网站进行控制了。

2、防范措施

2.1 验证用户输入

网站编程者在编程时, 就应该把安全放在首位。在要求用户输入的地方,或网页传递变量的地方,都要完全验证,以防止SQL注入等的漏洞产生。比如:使用如下方法验证用户是否输入了不符合要求的信息。SQL_injdata=”!|@|#|$|%|^|&|*|(|)|=”//

在此输入需要验证的非法字符a=slit(SQL_injdata,”|”)input_data=request(“username”)//取得

用户输入的用户名

for i = 0 to ubound(a)

if instr(input_data,a(i))>0 then

response.write(“您输入的用户名还有非法输入!”)

response.end()

end if

next

2.2 禁止用户多次尝试登录

现在有些自动登录程序, 可以重复尝试登录系统。这时,可以限制用户尝试登录系统的次数,比如1小时内只能尝试登录10

次等等。另一种方法是, 网页随机生成数字,用户只有输入这些有效数字,才能有可能登录系统, 这阻断了一些自动登录程序

的干扰。

2.3 防止用户绕过登录页面直接进入页面

我们可以在用户登录时提交一个Session对象,比如Session["UserId"],将登录用户的id提交。在进入重要页面时,先验证Session["UserId"]是否为NULL值,是否存在于数据库中,以此来判断用户是否登录。

private void Page_Load(objectsender, System.EventArgs e)

{

if(Session["UserId"]= =null)

{

??//异常处理

}

}

2.4 保护数据库安全

2.4.1 防止数据库被下载

数据库,特别是Access,安全性不高IIS, 要加强数据库的安全,首先要防止数据库被下载。在程序设计中,应该尽量使用ODBC 数据源,不把数据库名写在程序中,否则数据库名会随源码的失密而一同失密。另外,将数据库存储在Web根目录以外的地方也是一个比较行之有效的方法,就算攻击者找到了数据库存放的路径,也无法通过http 的方式进行下载。

2.4.2 对数据库进行加密

为确保数据库的完整,免遭破坏、泄密和窃取,主要采用数据备份、用户标识和鉴定、存取控制、数据库的加密(如RAS 密码或md5 加密技术),同时利用DBMS(数据库管理系统)所提供的各种安全措施,在应用软件上增加对数据的操作安全、对算法进行加密操作等。

3、结束语

ASP编制的网站数量越来越多,现在,人们已逐渐意识到网站的安全性问题。由于ASP使用人数多, 发现其漏洞的可能性就会更大。这就需要编程人员多关心这方面的安全知识, 在编程中养成好的编程习惯,避免一些常见的安全漏洞。同时,网站服务器的管理也是很重要的一方面, 需要重视服务器安全的配置。以上只是简单探讨了ASP网站的一些安全漏洞和一些解决措施, 有些更深入的探讨需要编程人员在实践中掌握。


参考文献
[1]张艳.ASP 常见漏洞及对策. 北京:电脑编程技巧与维护,2008(3):86-89.
[2]潘飞,王继成,等.ASP 网站安全问题的研究. 北京:网络安全技术与应用,2-008(6):80-81.
[3]李彦广,张洁.基于IIS+ASP+ACCESS网站的安全隐患及防范. 商洛:商洛学院学报,2008,22(10):59-61.
 

 

查看相关论文专题
加入收藏  打印本文
上一篇论文:浅谈多种共享ADSL宽带网上网_internet
下一篇论文:嵌入式系统的BootLoader技术浅析_启动过程
毕业论文分类
行政管理毕业论文 工商管理毕业论文
护理毕业论文 会计毕业论文
会计专业毕业论文 英语专业毕业论文
大学毕业论文 硕士毕业论文
计算机毕业论文 市场营销毕业论文
物流管理毕业论文 法学毕业论文
相关计算机毕业论文
最新计算机毕业论文
读者推荐的计算机毕业论文