欢迎来到天天文库
浏览记录
ID:9432785
大小:51.50 KB
页数:4页
时间:2018-04-30
《asp网站sql注入攻击方式和防范模型》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、asp网站SQL注入攻击方式和防范模型 0引言 ASP.是微软公司的一项AX),from_strvar-char(MAX),to_strvarchar(MAX)) 参数input_str表示需要进行过滤的字符串,from_str表示特征字符组成的集合,to_str表示特征字符过滤的结果,函数返回值是将from_str中的每个字符替换为to_str中的相应字符之后的字符串。 过滤函数StringFilter的设计算法如下: (1)判断3个参数是否为空值,若有空值则函数返回空值;若都不为空,执行(2); (2)定义变量r
2、esult表示input_str,变量from_len表示from_str的长度,若from_len大于0,获取最后一个即将替换的字符;若from_len等于0,函数返回result; (3)如果当前字符在from_str中有重复值,from_len自减1,执行(2);若没有重复值则执行(4); (4)如果from_len大于to_str的长度,则从result中删除在from_str中而不在to_str中的字符,执行(6);否则,执行(5); (5)将result中与from_str中相同的字符替换为to_str中相应字
3、符;(6)将from_len自减1,执行(2)。 2.3参数化语句 经过SQL参数过滤后,常见的特征字符被替换,但是未被指定为特征字符的合法SQL标示符将绕过过滤。考虑到SQL注入攻击大部分是由于在程序中采用动态字符串或动态SQL引起的,所以注入攻击防范模型的第二层是采用绑定变量的方式将用户提交的数据进行参数化处理。 假设存在关系Table,Table中包含2个字符串类型的属性ColA和ColB。从页面传递2个字符串strA和strB进行查询操作。动态SQL语句的定义如下: stringsql=select*fromTa
4、bleTableeterparam1=neeter(str1,strA); SqlParameterparam2=neeter(str2,strB); 2.4关键词转义 参数化语句能够一定程度提高数据库访问的安全性,但也有可能会向数据库传递潜在的不安全参数,例如传入一个更新语句等。为了进一步对注入攻击进行防范,在防范模型的第三层采用关键词转义方法,应用转义后的SQL关键字创建查询语句,执行前进行反向转义。恶意用户注入SQL语句时不知道转义规则将会使注入内容发生语法错误,从而达到防范目的。 为了简化转义规则设计,需要结合A
5、SP.应用的具体实现功能确定需要转义的关键词集合。下面自定义关键词转义类KeyohammedF,SoniS.SQLinjectionattacks:tech-niquesandprotectionmechanisms[J].InternationlJournalonupterScienceandEngineering,2011,3(1):199-203. [4]刘合叶.多功能SQL注入检测系统的实现及攻击防范方法研究[D].北京:北京交通大学,2009. [5]SuZhengdong,.TheWebApplicationHa
6、ckersHand-book:DiscoveringandExploitingSecurityFla].北京:人民邮电出版社,2009. [8]石聪聪,张涛,余勇,等.一种新的SQL注入防护方法的研究与实现[J].计算机科学,2012,39(6A):60-64. [9]丁允超,范小花.SQL注入攻击原理及其防范措施[J].重庆科技学院学报:自然科学版,2012,14(5):136-139. [10]马凯,蔡皖东,姚烨.Web2.0环境下SQL注入漏洞注入点提取方法[J].计算机技术与发展,2013,23(3):121-12
7、4,128. [11]王伟平,李吕,段桂华.基于正则表示的SQL注入过滤模块设计[J].计算机工程,2013,37(5):158-160. [12]竺霞芳.双层防御SQL注入攻击的方法[D].武汉:华中科技大学,2011.
此文档下载收益归作者所有