期刊鉴别 论文检测 免费论文 特惠期刊 学术答疑 发表流程

WEB应用的SQL注入攻击和防范技术研究

时间:2013-12-21 11:35 文章来源:http://www.lunwenbuluo.com 作者:胡博 点击次数:

  摘要:MicrosoftSQLServer、MySQL和Oracle是目前三大主流数据库,基于此所开发的WEB网站是目前大多数网站采用的常规模式。虽然Web技术不断成熟,安全性也不断提高,但是SQL注入漏洞不可必可避免的存在,且攻击工具也不断更新,SQL注入漏洞已经是Web应用系统中最为严重的安全漏洞之一。该文将分析SQL注入攻击的原理,综合探讨应对SQL攻击的防范技术。
  关键词:SQL注入攻击;检测技术;代码层;平台层
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2013)33-7408-02
  随着互联网技术发展,数据库驱动Web应用得到基本普及,现在很多单位和机构开发了各自的服务网站和管理系统,系统基本架构是一个后台数据库和很多面向用户的Web交互页面,Web页面包含了使用高级语言编写的服务器端脚本,通过Web页面脚本来获取用户交互提供的特定信息,常用功能有注册、用户私密信息的提交、登录、信息搜索、网上购物、金融转账等,涉及到用户的个人私密信息,但由于软件开发人员在实现系统模块功能时,往往轻视系统的安全性,在系统中留有Bug(漏洞),给系统留下了很大的安全隐患。
  RainForestPuppy于2000年发布了一篇关于SQL注入的报告,提出自从SQL数据库开始连接Web应用起,SQL注入就已经存在,根据网络统计,每年都有数万个网站遭受SQL注入式攻击。是Web应用程序安全漏洞的发生率最高、危害性最大的漏洞。因此,有必要了解SQL注入攻击的原理和攻击方法,采取相应地防范措施,有效防止SQL注入攻击。
  1SQL注入攻击原理
  1.1SQL注入攻击原理
  SQL注入漏洞:应用程序在向后台数据库传递SQL(StructuredQueryLanguage)查询时,如果为攻击者提供了影响该查询的能力,则会引发SQL注入。SQL注入攻击是通过漏洞扫描工具扫描Web页面中存在的SQL注入漏洞,漏洞扫描工具主要有HDSI、Domain等,通过SQL注入点,插入或者添加到Web页面输入的参数中,再将非法参数传递给服务器端的数据库中,并加以解析和执行,从而获得数据库服务器最高用户的权限,对数据库进行任意操作,控制服务器系统。因为SQL的多样性和构造时使用的方法提供了丰富了编码手段,因此凡是构造SQL语句的步骤都存在被攻击的风险。
  1.2SQL注入攻击途径
  如果开发人员无法彻底理解后台数据库架构或者无法完全意识到所开发代码潜在的安全问题,那么他们编写的应用容易受到SQL注入攻击。Web应用开发人员在将从Web表单、cookie、输入参数等接收到的值传递给SQL查询之前并未主动对其进行过验证,那么代码将存在SQL注入漏洞。攻击者通过构造动态字符串控制SQL查询的输入,并将其解析为代码,攻击者就有能力在后台数据库上执行攻击代码。
  1.2.1通过用户输入攻击
  攻击者通过交互表单注入动态构造SQL查询攻击代码,包含这些攻击代码的请求构造成SQL查询,进而提交给数据库,是SQL注入攻击最常见的途径。
  1.2.2通过系统变量攻击
  Web应用在使用Http、Header和环境变量时,这些系统变量未经过处理就写入数据库,可能导致SQL注入攻击。
  1.2.3通过cookies攻击
  Cookies文件存储在客户端,其中包含着Web应用生成的状态信息,再次访问这个Web应用时,会返回存储时的数据信息,通过植入cookies构建SQL查询进而提交攻击代码。
  1.2.4二阶注入攻击
  攻击者向数据库植入可以触发SQL注入的恶意代码,这些代码不会立刻导致威胁,这个恶意输入实在系统运行过程中触发的。
  1.3SQL注入攻击方式
  SQL语言属性决定对SQL注入的攻击方式有很多种,是Web应用程序安全漏洞的发生率最高、危害性最大的漏洞。
  1.3.1逻辑错误的查询攻击
  攻击者尝试注入语句导致数据库出现逻辑错误、语法错误或者类型转换,得到相应的错误信息来进行判断,攻击者可以分析数据库的关系结构、提取数据,为下一步攻击进行信息搜集和前提条件。
  1.3.2重言式攻击
  重言式攻击是指在条件语句中注入代码,使条件语句结果始终为真,如果程序未对输入进行验证,则可以绕过服务器的身份认证,返回数据表的内容。

  •   论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
  •   论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
  •  
  •   论文投稿客服QQ: 论文投稿2863358778 论文投稿2316118108
  •  
  •   论文投稿电话:15995089042
  •  
  •   论文投稿邮箱:lunwenbuluo@126.com

联系方式

  • 论文投稿客服QQ: 论文投稿2863358778
  • 论文投稿客服QQ: 论文投稿2316118108
  • 论文投稿电话:15995089042
  • 论文投稿邮箱:lunwenbuluo@126.com

热门排行

 
QQ在线咨询
咨询热线:
159-9508-9042
微信号咨询:
15995089042