基本信息
- 项目名称:
- SQL注入攻击与防御工具的研究与现实
- 来源:
- 第十二届“挑战杯”省赛作品
- 小类:
- 信息技术
- 大类:
- 自然科学类学术论文
- 简介:
- SQL注入攻击是近年来网络中常见的一种针对网站系统的攻击方式,由于这种攻击方式易于掌握,危害极大,已对B/S模式的Web系统构成了巨大的威胁。 本论文详细阐述了SQL注入攻击的理论基础,网站和攻击工具的设计思想、体系结构以及主要功能模块的实现。
- 详细介绍:
- 目前各大企业,学校和政府机关都拥有了自己的网站,通过自己的网站发布各类信息,实现了企业信息化、电子政务、电子商务等各种Web业务。通常网站的建设使用的是ASP,PHP,JSP等脚本编程语言,以实现各种动态效果。据资料统计,国内的网站用ASP结合Access或SQL Server数据库的大约占70%以上,使用PHP结合MySQL数据库的占20%,其他的不足10%。 Web业务的迅速发展引起了黑客们的强烈关注,他们将注意力从以往对传统网络服务器的攻击逐步转移到了对Web业务的攻击上。根据Gartner这家全球最具权威的IT研究与顾问咨询公司的调查,信息安全攻击有75%都是发生在Web应用层而非网络层面上。同时,数据也显示,2/3的Web站点都相当脆弱,易受攻击。 SQL注入攻击是威胁Web安全的核心问题。这种攻击方式具有以下一些特点: 1.掌握起来难度较小,攻击者只需具备基本的脚本编程基础和数据库理论即可实行攻击。 2.变化多样,有经验的攻击者会手动调整攻击参数,致使攻击数据的变种是不可枚举的,这导致传统的特征匹配检测方法仅能识别相当少的攻击,难以防范。 3.攻击过程简单,攻击者可以使用网上流传的各种现有的攻击工具发动针对特定目标的大量有效攻击,配合手动攻击方式,致使这种攻击相当容易成功。 4.隐蔽性,这种攻击方式都是从正常的WWW端口访问,表面上看起来与正常的Web页面访问基本没有区别,所以目前市面上的防火墙都不会对SQL注入发出警报。如果管理员没有查看IIS日志的习惯,可能被入侵了很长时间都不会发觉。 5.危害大,由于Web编程自身的缺陷以及具有安全编程能力的开发人员少之又少,大多数Web业务系统均具有被注入攻击的可能。而攻击者一旦攻击成功,就可以控制整个业务系统,对数据做出任何修改,甚至可以通过搭配其他攻击手段拿到整个服务器的最高权限,破坏力达到极致。 在防御方面,从根本上讲,最有效的防御SQL注入攻击的方法是加强Web系统的代码安全性,对所有传回数据库的访问语句加以关键词过滤,限制那些敏感的可能造成注入的代码访问数据库。但这种防御方法将会使得程序员需要重写已有的Web业务系统代码,当系统比较庞大的时候,这种工作量将会十分巨大。各大安全厂商均推出了自己的IPS(入侵防御系统),可以从很大程度上防御普通的SQL注入攻击。但是IPS的价格并不是所有拥有Web业务的单位都可以承受的。因此,我们必须寻求一种理想的防御思路,这种思路必须满足可以抵御SQL注入攻击,工作量小,不影响Web系统结构等要求。
作品专业信息
撰写目的和基本思路
- 通常网站的建设使用的是ASP,PHP,JSP等脚本编程语言,以实现各种动态效果。据资料统计,国内的网站用ASP结合Access或SQL Server数据库的大约占70%以上,使用PHP结合MySQL数据库的占20%,其他的不足10%。 信息安全攻击有75%都是发生在Web应用层而非网络层面上。同时,数据也显示,2/3的Web站点都相当脆弱,易受攻击。
科学性、先进性及独特之处
- 随着B/S模式应用开发技术的不断发展,各种网络应用给人们的日常工作和生活带来了极大的便利。但与此同时各种网络安全问题也不容忽视。由于SQL注入攻击实现简单,而且难于检测,已经成为目前最常见的针对网站系统的攻击形式之一。因此,学习SQL注入攻击的原理,了解已有的攻击方法并掌握各种有效的防范方法,可以更好地确保网站的安全。
应用价值和现实意义
- 学习SQL注入攻击的原理,了解已有的攻击方法并掌握各种有效的防范方法,可以更好地确保网站的安全。
学术论文摘要
- 在已知一个注入点后,攻击者可以通过使用这个注入点来判断出后台使用的数据库类型。最简便的办法是,在已有注入点URL的最后添加一个单引号“’”。这样构造的URL必然无法正确执行,服务器会返回一个错误信息。从错误信息中我们可以判断出数据库的类型。当服务器返回的错误信息中包含有“Microsoft JET Database Engine 错误”这样的提示时,可以判断出后台使用的是ACCESS数据库。当服务器返回的错误信息中包含有“Microsoft OLE DB Provider for ODBC Drivers”这样的提示时,可以判断出后台使用的是Microsoft SQL Server数据库。
获奖情况
- 无
鉴定结果
- 随着技术的不断发展,SQL注入攻击也呈现了一些新的技术特点。可以明确的是,这种攻击方式不会被淘汰,而会随着技术的进步而不断发展,其威力和破坏性也会逐步提高。我们只有不断地进行研究,才能应对新的挑战。
参考文献
- [1] 郑阿奇.ASP程序设计教程[M]. 北京:机械工业出版社,2005.09 [2] 王振.ASP动态网站建设[M]. 北京:国防工业出版社,2002.06 [3] 刘好增,张坤.ASP动态网站开发实践教程[M]. 北京:清华大学出版社,2007.01 [4] 方睿,刁仁宏,吴四九.网络数据库原理及应用[M]. 成都:四川大学出版社,2005.08 [5] 崔勇.Visual C++ .NET实用案例教程[M].北京:清华大学出版社,2003.08 [6] 黄承安.Visual C++ .NET经典开发案例[M].北京:中国铁道出版社,2003.01 [7] 李博轩.Visual C++ .NET网络应用开发技术[M].北京:国防工业出版社,2002.10
同类课题研究水平概述
- 国内的网站用ASP结合Access或SQL Server数据库的大约占70%以上,使用PHP结合MySQL数据库的占20%,其他的不足10%。 Web业务的迅速发展引起了黑客们的强烈关注,他们将注意力从以往对传统网络服务器的攻击逐步转移到了对Web业务的攻击上。根据Gartner这家全球最具权威的IT研究与顾问咨询公司的调查,信息安全攻击有75%都是发生在Web应用层而非网络层面上。同时,数据也显示,2/3的Web站点都相当脆弱,易受攻击。