网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | 防火墙 | IDS/IPS | VPN | PKI | Honeypot | Hacker/Intruder | 黑客技术 | 破解技术 | 加密技术 | 病毒防护 | 木马 | 反垃圾邮件 | 反流氓软件 | 漏洞 | 无线安全 | UNIX | Windows | 安全编程 | 安全软件 | TPM/TCG | 数据恢复 | 企业信息安全 | 个人信息安全
 当前位置: Home > 黑客技术 > 文章  
Web环境下SQL注入攻击的检测与防御
文章来源: 赛迪网技术社区 文章作者: dblearn 发布时间: 2006-09-12   字体: [ ]
 

  下面介绍了SQL注入式攻击的原理。在前人提出的“对用户输入信息实施过滤”的技术基础上,建立了一个针对SQL注入攻击的检测/防御/备案通用模型。该模型在客户端和服务器端设置两级检查。对于一般性用户误操作和低等级恶意攻击,客户端的检查将自动做出反应;考虑到客户端检查有可能被有经验的攻击者绕开,特在服务器端设定二级检查。在文中还提出了对高等级恶意攻击的自动备案技术,并给出了相应代码。

  互联网上的安全问题越来越严重,入侵检测(IDS)也因而显得尤为必要。MS SQL Server作为数据库市场的主要产品之一,研究针对他的SQL攻击处理方案,建立一个通用的SQL注入攻击防御、检测、备案模型,对于加强安全建设具有积极的意义。

  1、SQL注入攻击简介

  SQL注入攻击源于英文“SQL Injection Attack”。目前还没有看到一种标准的定义,常见的是对这种攻击形式、特点的描述。微软技术中心从2个方面进行了描述:

  (1)脚本注入式的攻击。

  (2)恶意用户输入用来影响被执行的SQL脚本。

  Stephen Kost给出了这种攻击形式的另一个特征,“从一个数据库获得未经 授权的访问和直接检索”。

  SQL注入攻击就其本质而言,他利用的工具是SQL的语法,针对的是应用程序开发者编程过程中的漏洞。“当攻击者能够操作数据,往应用程序中插入一些SQL语句时,SQL注入攻击就发生了”。

  由于SQL注入攻击利用的是SQL语法,使得这种攻击具有广泛性。理论上说,对于所有基于SQL语言标准的数据库软件都是有效的,包括MS SQL Server,Oracle,DB2,Sybase,MySQL等。当然,各种软件有自身的特点,最终的攻击代码可能不尽相同。

  SQL注入攻击的原理相对简单,易于掌握和实施,并且整个Internet上连接有数目惊人的数据库系统(仅在中国,截至2003年3月的统计就有82 900多个),在过去的几年里,SQL攻击的数量一直在增长。

  2、SQL注入式攻击的检测及跟踪

  2.1 SQL攻击检测/防御/跟踪模型

  针对SQL攻击的防御,前人做过大量的工作,提出的解决方案包括 :

  (1)封装客户端提交信息。

  (2)替换或删除敏感字符/字符串。

  (3)屏蔽出错信息以及。

  (4)在服务端正式处理之前对提交数据的合法性进行检查等。

  方案(1)的做法需要RDBMS的支持,目前只有Oracle采用该技术;方案 (2)是一种不完全的解决措施,举例来说明他的弱点,当客户端的输入为“…ccmdmcmdd…”时,在对敏感字符串“cmd”替换删除以后,剩下的字符正好是“… cmd…”;方案(3)的实质是在服务端处理完毕之后进行补救,攻击已经发生,只是阻止攻击者知道攻击的结果;方案(4)被多数的研究者认为是最根本的解决手段,在确认客户端的输入合法之前,服务端拒绝进行关键性的处理操作。方案(4)与(2)的区别在于,方案(4)一旦检测到敏感字符 /字符串,针对数据库的操作即行中止,而方案(2)是对有问题的客户端输入做出补救,不中止程序后续操作。方案(2)虽然在一定程度上有效,但有“治标不治本”的嫌疑,新的攻击方式正在被不断发现,只要允许服务端程序使用这些提交信息,就总有受到攻击的可能。

  因此,本文中针对SQL注入攻击的检测/防御/备案模型即基于提交信息的合法性检查,在客户端和服务端进行两级检查,只要任一级检查没有通过,提交的信息就不会进入query语句,不会构成攻击。在客户端和服务端进行合法性检查的函数基本相同。客户端检查的主要作用是减少网络流量,降低服务器负荷,将一般误操作、低等级攻击与高等级攻击行为区分开来。技术上,客户端的检查是有可能被有经验的攻击者绕开的,在这种情形下,提交的数据被直接发往服务端,通过在服务器端设定二级检查就显得十分必要。由于正常提交到服务端的数据已经在客户端检查过,因此,服务端检查到的提交异常基本可以认定为恶意攻击行为所致,中止提交信息的处理,进行攻击备案,并对客户端给出出错/警告提示。对应模型简图如图1所示。

 
推荐文章
·骇客学堂:灰鸽子VIP2006终极免
·黑客攻破SQL服务器系统的十种方
·黑客的攻击:WEB入侵的过程
·黑客经典教程之理解地址解析协议
·黑客经典教程之缓冲区溢出解密(
·黑客经典教程之缓冲区溢出解密(
·黑客基础内容:21种RING的提权方
·网络孙子兵法!黑客攻防也有三十
·黑客攻击常见方法及安全策略制订
·黑客技巧 使用Google黑掉Windows
 

 
共3页: 上一页 1 [2] [3] 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
热点文章
·黑客基础内容 DOS常见命
·攻防秘技:彻底防范网络
·黑客教程:黑客入侵个人
·很多人的Hack经历第一次
·黑客基础内容 IPC$空连
·黑客经典教程之理解地址
·黑客技巧 使用Google黑
·黑客攻击常见方法及安全
相关分类
相关文章
·骇客学堂:跨站攻击偷取
·黑客经典教程之理解地址
·黑客的攻击:WEB入侵的
·黑客攻破SQL服务器系统
·防御DDOS攻击终极指南
·攻防秘技:彻底防范网络
·局域网中伪造源地址DDoS
·深入分析利用反弹技术进
更多...
 
 

Copyright(c) 2001-2008 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统
$Id: article_article.html,v 1.3 2007/02/10 12:00:37 yjs Exp $