防止sql注入的简单方法
2007-11-11 11:48:03 来源:WEB开发网核心提示: 摘要:简要介绍了SQL注入式攻击的原理,在前人提出的“对用户输入信息实施过滤”的技术基础上,防止sql注入的简单方法(3),建立了一个针对SQL注入攻击的检测/防御/备案通用模型,该模型在客户端和服务器端设置两级检查,(2)替换或删除敏感字符/字符串,(3)屏蔽出错信息以及,对于一般性用户误操作和低等级恶意攻击,客户
摘 要:简要介绍了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(WINDOWS平台上强大的数据库平台),Oracle(大型网站数据库平台),DB2,Sybase,MySQL(和PHP搭配之最佳组合)等。当然,各种软件有自身的特点,最终的攻击代码可能不尽相同。SQL注入攻击的原理相对简单,易于掌握和实施,并且整个Internet上连接有数目惊人的数据库系统(仅在中国,截至2003年3月的统计就有82 900多个),在过去的几年里,SQL攻击的数量一直在增长。
2、SQL注入式攻击的检测及跟踪
2.1SQL攻击检测/防御/跟踪模型
针对SQL攻击的防御,前人做过大量的工作,提出的解决方案包括 :
(1)封装客户端提交信息。
(2)替换或删除敏感字符/字符串。
(3)屏蔽出错信息以及。
(4)在服务端正式处理之前对提交数据的合法性进行检查等。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››防止网站被JS挂马和查杀方法
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接