首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>SQL server>资讯:如何在SQL注入时保护数据库

如何在SQL注入时保护数据库

www.jz123.cn  2010-10-20   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

  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来遍历参数,注入上面所提到的将会产生进程错误,并且存储进程将不会被执行

 


上一篇:SQL注入与ASP木马上传 下一篇:浅谈sql注入式(SQL injection)攻击与防范

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图