当前位置:论文写作 > 毕业论文范文 > 文章内容

ASP.NET网站中防SQL注入攻击技术

主题:sql注入用户名* 下载地址:论文doc下载 原创作者:原创作者未知 评分:9.0分 更新时间: 2024-02-01

简介:适合注入用户论文写作的大学硕士及相关本科毕业论文,相关注入用户开题报告范文和学术职称论文参考文献下载。

注入用户论文范文

sql注入用户名*论文

目录

  1. 一、引言
  2. 二、防SQL注入攻击技术的实现
  3. 1.SQL注入攻击技术简介
  4. 2.ASP.NET下防范SQL注入攻击策略的实现
  5. sql注入用户名论文范文:传智播客PHP培训.韩顺平.PHP视频教程.Mysql编程陷阱5.php之sql注入.万能论文范文和万能用户名

[摘 要]本文主要针对目前ASP.NET网站安全面临的SQL注入攻击来进行分析研究,并从客户端和服务器端两个方面来研究如何防范SQL注入攻击

[关键词]网站安全SQL注入防SQL注入

一、引言

随着时代的发展,网路应用的不断深入,互联网上网站数量以惊人的速度增加.尽管如此,网络上环境的复杂性、多变性,以及信息系统的脆弱性,决定了现有的计算机系统还不具备与自身的应用发展规模相对应的安全防护能力,大量的网络威胁采用各种隐蔽的方式不断地冲击着网络应用平台.因此,对网站相关安全技术进行研究是很有必要的.

二、防SQL注入攻击技术的实现

1.SQL注入攻击技术简介

SQL注入攻击是当前网络攻击的主要手段之一.SQL注入技术在国外最早出现在1999年,我国在2002年后开始大量出现.目前还没有一个严格的定义来解释什么是SQL注入漏洞,但其本质是攻击者能够利用应用程序没有对用户输入的数据进行严格约束和合法性检查等错误在程序中插入并执行自己构造的SQL语句.

例如,在在Web应用程序的登录验证程序中,一般有用户名和论文范文两个参数,当用户点击提交按钮时,服务器端会根据用户提交的用户名和论文范文信息来与数据库中的用户信息表进行比较,如果不对用户输入的信息进行任何限制,在服务器端也不对用户提交的信息进行任何检查,其SQL语句就可以写成:

string strqry等于"Select+From T_Admin whereUserid等于"&,acute,+name+&,acute,"and UserPwd等于"&,acute,+pwd+"&,acute,": 显然上面这段代码并没有对用户的输入进行任何安全性的检查,如果数据库是SQL Server.那么恶意用户可以在用户名中输入admin&,acute, or l等于1--,在论文范文框中输入任何值(如:111),这样,SQL脚本解释器中的上述语句就会变为:

Select+From T_Admin where Userid等于’admin&,acute, or l等于1一一and UserPwd等于‘1 1 1’

由于在SQL Server数据库中“一一”表示注释,因此“一一”后面的语句都为注释语句,这样在两个条件“Userid等于’admin”和“1等于1”中,只要任何一个成立,该语句就会执行成功,而1等于1在逻辑判断上是恒成立的,因此不管T_Admin表中有没有admin这个用户,该语句都会执行成功并错误地将权限授予攻击者.

2.ASP.NET下防范SQL注入攻击策略的实现

要防范SQL注入攻击,需要对用户输入的数据进行检查,检查可以在客户端进行,也可以在服务器端进行.在客户端,攻击者完全有可能获得网页的源代码,修改验证合法性的脚本(或者直接删除脚本),然后将非法内容通过修改后的表单提交给服务器.因此,要保证验证安全性,唯一的办法就是在服务器端也执行验证.但使用客户端验证可以减少页面往返次数以提升性能,改进用户体验.因此,在实际中往往在客户端和服务器端同时进行检查.

(1)客户端的防SQL注入功能的实现

在客户端,可以J论文范文aScript脚本语言来编写用于检查用户输入的函数,也可以通过ASP.NET提供的输入输入验证控件来检查用户的输入.其中,使用ASP.NET提供的输入验证控件来检查用户的输入是最简单的方法.

在ASP.NET中,RegularExpressionValidator控件是一个强大的工具.他可以检验文本是否和定义的正则表达式中的模式匹配.你只需要简单地配置ValidationExpression属性的正则表达式即可.正则表达式也是一个强大的工具,它允许指定复杂的规则,该规则指定字符和字符顺序(位置和出现次数).为防止用户输入一些危险的字符,可以利用该正则表达式"&,acute,[0—9A一Za—z_]+$",该表达式表示的意思是用户只可以输入字母和数字.要运用该正则表达式,只需在将其赋值给RegularExpressionValidator控件的ValidationExpression属性即可.

(2)服务器端的防SQL注入功能的实现

由于通过客户端进行验证并不能完全保证安全性,因此,为保证安全性,最有效的办法是在服务器端进行验证.在服务器端,通常的做法有两种,一种是构造一个专门的函数来将特殊字符和字符串过滤掉,另一种是对SQL语句使用命令参数方式. 过滤函数一般可以表示如下:

sql注入用户名论文范文:传智播客PHP培训.韩顺平.PHP视频教程.Mysql编程陷阱5.php之sql注入.万能论文范文和万能用户名

过滤特殊字符在asp.net中并非最有效的方式, 因为如果文本确实需要包含这些符号,这样就引入了其他麻烦,更好的解决办法是使用参数化命令来防止SQL注入攻击.参数化命令是在SQL文本中使用占位符的命令.占位符表示需要动态替换的值,它们通过Command对象的Parameters集合来传送.在管理员登陆页面,如果使用参数化命令,其SQL语句就可以表示为:

Select*From T_Admin where Userid等于@name andUserPwd等于@pwd

在该SQL语句中@name和@pwd是参数的名字,所有参数必须以@字符开头.使用参数化命令后,当恶意用户在用户名中输入admin&,acute, or l等于1--时,应用程序就会从T_Admin表中检索用户名为admin&,acute, or l等于1--的用户,显然这样就不可能得到任何记录,因为没有一个管理员的用户名是admin&,acute, or1等于1--.参数化命令的实现可表示如下

总结:本论文是一篇免费优秀的关于注入用户论文范文资料,可用于相关论文写作参考。

sql注入用户名*引用文献:

[1] sql注入本科论文开题报告范文 sql注入方面自考毕业论文范文2000字
[2] 离子注入本科毕业论文范文 离子注入相关硕士论文范文2万字
[3] 用户体验论文范文 用户体验有关专升本毕业论文范文10000字
《ASP.NET网站中防SQL注入攻击技术》word下载【免费】
sql注入用户名*相关论文范文资料
热门注入用户相关频道