| | | | | | | | | | | | | | |  
 
   收藏 |  网络安全 |  ASP技术 |  专业名词  |  资料下载 |  VB.NET技术 |  网络编程 |  网页设计 |  网站建设 |  c#.net技术 |  网络营销 |  网站推广 |
奇迹网络
技术园地
首页>>技术园地>>网络安全>>如何在SQL注入时保护数据库
如何在SQL注入时保护数据库
来源:本站原创 时间:2007-12-30 17:16:06 编辑:admin

SQL注入是防止数据库攻击的一个有效策略。攻击者将注入一个SQL语句到另外一个语句中,这个通常会损坏你的数据库。有数据库接口的Web站点通常在SQL注入的时候容易受到攻击,因为它们是基于动态的SQL;下面是一个简单的例子:

在一个ASP页面中会请求用户输入名字和密码,然后将下面的字符串发送到数据库中:

SELECT FROM users WHERE username =
’whatever’ AND password = ’mypassword’

这看起来很安全,实际上不是,一个用户可能会这样输入他的名字:

’ OR 1>0 –

当把这个输入到SQL语句中的时候,结果可能会象这样:

SELECT FROM users WHERE username
= ’’ OR 1>0 -- AND password = ’’

这个注入语言将通过语句暴露密码。这将导致所有的用户名都会在用户列表中,所以,任何用户都可以进入到你的系统中。

最简单阻止注入分类是分析SQL串并移动语句之前的任何“--”的发生。

同时,你要小心注入的时候含有分号,因为分号是给SQL语句分界。如果一个用户的名字是下面这个:

’ OR 1>0 ; DELETE Customers ; --

如果一个用户怀有恶意,那么他可以使用多种方法看穿你的系统,但是,最简单的方法就是避免动态的SQL,用存储过程来代替。使用SQL来遍历参数,注入上面所提到的将会产生进程错误,并且存储进程将不会被执行。

 
   北京总部    太原分公司    English
北京网站建设 网站建设 北京网站制作 网站制作 北京网站建设 密云网站建设 网站建设 北京网站建设 北京网站制作 北京网站建设 上海网站建设 博网设计北京网站建设 上海网站建设 上海网站建设 深圳网站建设 网站制作

Copyright © 2007 Itqiji.com Inc. All rights reserved. 奇迹网络 版权所有

联系电话:010-80749631    010-82416384  
手   机:15001106568                                    
联系 QQ: 450338384奇迹网络     23287943奇迹网络 京ICP备05047545号
联系地址:海淀区上地信息路19号1号楼319                  
联系邮箱:qijiforever#yahoo.com.cn(把#换成@就可以了