封面
《ASP.NET网站中防SQL注入攻击技术的》Word格式可编辑可修改
精心整理放心阅读欢迎下载
文档信息
ASP.NET网站中防SQL注入攻击技术的
目录
一、引言
二、防SQL注入攻击技术的实现
(1)客户端的防SQL注入功能的实现
(2)服务器端的防SQL注入功能的实现
正文
关于什么是及计算机系统及信息系统方面的优秀学术论文范文关于什么是相关论文查重关于网站中防SQL注入攻击技术的相关论文范文素材对写作什么是论文范文课题研究的大学硕士、本科毕业论文开题报告范文和文献综述及职称论文参考文献资料有帮助。
摘要本文主要针对目前网站安全面临的SQL注入攻击来进行分析研究并从客户端和服务器端两个方面来研究如何防范SQL注入攻击
关键字关键词网站安全SQL注入防SQL注入
一、引言
随着时代的发展 网路应用的不断深入互联网上网站数量以惊人的速度增加.尽管如此 网络上环境的复杂性、多变性 以及信息系统
的脆弱性决定了现有的计算机系统还不具备与自身的应用发展规模相对应的安全防护能力大量的网络威胁采用各种隐蔽的方式不断地冲击着网络应用平台.因此对网站相关安全技术进行研究是很有必要的。
二、防SQL注入攻击技术的实现
注入攻击技术简介SQL注入攻击是当前网络攻击的主要手段之一SQL注入技术在国外最早出现在1999年我国在2002年后开始大量出现.目前还没有一个严格的定义来解释什么是SQL注入漏洞但其本质是攻击者能够利用应用程序没有对用户输入的数据进行严格约束和合法性检查等错误在程序中插入并执行自己构造的SQL语句。
这篇论文url
例如在在Web应用程序的登录验证程序中一般有用户名和 两个参数当用户点击提交按钮时服务器端会根据用户提交的用户名和 信息来与数据库中的用户信息表进行比较如果不对用户输入的信息进行任何限制在服务器端也不对用户提交的信息进行任何检查其SQL语句就可以写成:stringstrqry等于"Select*FromT_AdminwhereUserid等于' "+n ame+"'andUs e rPwd等于' "+pwd+"
显然上面这段代码并没有对用户的输入进行任何安全性的检查如果数据库是SQLServer那么恶意用户可以在用户名中输入
admi n’ or1等于1--在 框中输入任何值(如: 111) 这样 SQL脚本解释器中的上述语句就会变为:
Select*FromT_AdminwhereUs erid等于'admin'or1等于1--andUserPwd等于' 111'
由于在SQLServer数据库中“--”表示注释 因此“--”后面的语句都为注释语句这样在两个条件“Userid等于'admin' ”和“1等于
1”中只要任何一个成立该语句就会执行成功而1等于1在逻辑判断上是恒成立的 因此不管T_Admin表中有没有admin这个用户该语句都会执行成功并错误地将权限授予攻击者。
下防范SQL注入攻击策略的实现要防范SQL注入攻击需要对用户输入的数据进行检查检查可以在客户端进行也可以在服务器端进行.在客户端攻击者完全有可能获得网页的源代码修改验证合法性的脚本(或者直
接删除脚本) 然后将非法内容通过修改后的表单提交给服务器.因此要保证验证安全性唯一的办法就是在服务器端也执行验证.但使用客户端验证可以减少页面往返次数以提升性能改进用户体验.因此在实际中往往在客户端和服务器端同时进行检查。
(1)客户端的防SQL注入功能的实现
在客户端可以JavaScr ipt脚本语言来编写用于检查用户输入的函数也可以通过提供的输入输入验证控件来检查用户的输入.其中使用提供的输入验证控件来检查用户的输入是最简单的方法。
在中 RegularExpressionValidator控件是一个强大的工具.他可以检验文本是否和定义的正则表达式中的模式匹配.你只需要简单地配置ValidationExpression属性的正则表达式即可.正则表达式也是一个强大的工具它允许指定复杂的规则该规则指定字符和字符顺序(位置和出现次数) .为防止用户输入一些危险的字符可以利用该正则表达式“^ [0-9A-Za-z_]+$” 该表达式表示的意思是用户只可以输入字母和数字.要运用该正则表达式只需在将其赋值给
RegularExpressionValidator控件的Val idationExpression属性即可。
怎样写什么是毕业论文
播放:22640次评论:4696人
(2)服务器端的防SQL注入功能的实现
由于通过客户端进行验证并不能完全保证安全性 因此为保证安全性最有效的办法是在服务器端进行验证.在服务器端通常的做法有两种一种是构造一个专门的函数来将特殊字符和字符串过滤掉另一种是对SQL语句使用命令参数方式。
过滤函数一般可以表示如下:
PublicstringConvertSql (stringinputStr)inputString等于(inputString等于(inputString等于("等于"inputString等于(i nputString等于("and"inputString等于inputString.省略中并非最有效的方式 因为如果文本确实需要包含这些符号这样就引入了其他麻烦更好的解决办法是使用参数化命令来防止SQL注入攻击.参数化命令是在SQL文本中使用占位符的命令.占位符表示需要动态替换的值它们通过Command对象的Paramete集合来传送.在管理员登陆页面如果使用参数化命令其SQL语句就可以表示为:
Select*FromT_AdminwhereUs erid等于@nameandUs erPwd等于@pwd
在该S QL语句中@name和@pwd是参数的名字所有参数必须以@字符开头.使用参数化命令后 当恶意用户在用户名中输入adm in’ or 1等于1--时应用程序就会从T_Admin表中检索用户名为admi n’ or1等于1--的用户显然这样就不可能得到任何记录 因为没有一个管理员的用户名是admin’ or1等于1--.参数化命令的实现可表示如下。
使用参数化命令申明SQL语句stringmysql等于"Select*FromT_AdminwhereUser id等于
@namean dUs erPwd等于@pwd"
OleDbConnectionconn等于newOleDbConnect ion(contr)
O leDbCommandcmd等于newOl eDbCommand(mys ql conn)
对@n ame参数赋值
("@n ame" nam e)
对@password参数赋值
("@pwd" Password)
参考文献:
[1]DavidLitchfield ' shandbook[M] .Wi leyPublishingInc 2005
[2]陈小兵张汉煜骆力明黄河.SQL注入攻击及其防范检测技术研究[J] .计算机工程与应用 2007 43(11)
[3]BassL ClementsP [M] .北京:清华大学出版社 2003:71-127参考文献推荐
本科工商企业管理课程
工商企业管理专业好吗
行政管理毕业论文选题is09000质量管理体系
管理学论文选题
计算机管理系统毕业论文
财务管理小论文
管理心理学概述
财务管理毕业论文设计
公共管理硕士论文选题
本文doc格式: 网站中防SQL注入攻击技术的【论文】
“A SP.NET网站中防SQL注入攻击技术的”由本人精心编辑整理内容源于网络仅供学习交流请勿商用。如有侵犯作者权益请留言或者发站内信息联系本人我将尽快删除。谢谢您的阅读与下载
OneTechCloud发布了本月促销信息,全场VPS主机月付9折,季付8折,优惠后香港VPS月付25.2元起,美国CN2 GIA线路高防VPS月付31.5元起。这是一家2019年成立的国人主机商,提供VPS主机和独立服务器租用,产品数据中心包括美国洛杉矶和中国香港,Cera的机器,VPS基于KVM架构,采用SSD硬盘,其中美国洛杉矶回程CN2 GIA,可选高防。下面列出部分套餐配置信息。美国CN...
Bluehost怎么样,Bluehost好不好,Bluehost成立十八周年全场虚拟主机优惠促销活动开始,购买12个月赠送主流域名和SSL证书,Bluehost是老牌虚拟主机商家了,有需要虚拟主机的朋友赶紧入手吧,活动时间:美国MST时间7月6日中午12:00到8月13日晚上11:59。Bluehost成立于2003年,主营WordPress托管、虚拟主机、VPS主机、专用服务器业务。Blueho...
公司成立于2007年,是国内领先的互联网业务平台服务提供商。公司专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前,旅途云公司研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的国内BGP、双线高防、香港等优质的IDC资源。点击进入:旅途云官方网商家LOGO优惠方案:CPU内存硬盘带宽/流量/防御...