源码论坛公告:本站是一个交流学习建站资源的社区论坛,旨在交流学习源码脚本等资源技术,欢迎大家投稿发言! 【点击此处将锦尚放在桌面

源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 797|回复: 3
打印 上一主题 下一主题

企业网站应当如何应对SQL注入式攻击

[复制链接]

75

主题

78

帖子

256

金币

初级会员

Rank: 1

积分
710
跳转到指定楼层
1#
发表于 2011-2-14 11:14:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于使用MSSQL数据库的网站来说,如果没有对SQL注入式攻击进行防御那么将受到致命的打击。关于对付SQL注入攻击的方法已经有许多讨论,但是为什么还是有大量的网站不断地遭受其魔掌呢?安全研究人员认为,现在正是重新梳理最佳方法来对付大规模的SQL注入攻击的时候,从而减轻与注入攻击相关的风险。
如果想知道网站是否存在sql注入漏洞,可以登录亿思平台官网http://www.iiscan.com,进行在线sql注入漏洞扫描,目前使用是免费的。
下面,我们将一一谈论这些方法:
  应对SQL注入式攻击之使用参数化查询
  企业应当制定并强化自行开发软件的安全编码指南,要求开发人员使用参数化查询来构建SQL查询,这样就可以将数据与代码区分开来。
  对于多数SQL查询来说,开发人员需要指明某类标准,为此,就需要利用参数化查询,其实就是在运行时可传递的参数。参数化查询就是在SQL语句中有一个或多个嵌入参数的查询。这种将参数嵌入到SQL语句中的方法与动态构造SQL字符串相比,不易产生错误。下面我们看一个在.NET应用程序中使用参数化查询的例子。假设我们想给张三增加工资500元,可参考如下的代码。这些代码范例演示了参数化查询的使用,并展示了如何使用更新语句:
  通过利用SQL的更新命令,你可以更新记录。在上面的例子中,我们作了如下操作:创建并打开一个数据库链接;创建一个代表执行更新语句的数据库命令;使用EDBCommand 的ExecuteNonQuery()方法执行插入命令。
  每一个参数都用一个EDBParameter对象指明。对于需要在SQL语句中指定的每一个参数来说,你需要创建一个EDBParameter对象,然后将值指派给这个对象。然后,将EDBParameter对象添加到EDBCommand命令的参数集中。
于多数开发平台来说,应当使用参数化的语句而不是将用户输入嵌入到语句中。在许多情况下,SQL语句是固定的,每一个参数都是一个标量,而不是一个表。用户输入会被指派给一个参数。下面再给出一个使用Java和JDBC API的例子:

  PreparedStatement prep = conn.prepareStatement("SELECT * FROM USERS WHERE USERNAME=? AND PASSWORD=?");
  prep.setString(1, username);
  prep.setString(2, password);
  prep.executeQuery();
  笔者用这些例子只是想告诉开发人员,应当确保在查询数据库之前对输入进行净化。要保障用户输入到网站的内容就是你正要查找的数据类型,所以说,如果你正在寻找一个数字,就要努力保障这种输入一定是一个数字而非字符。
  应对SQL注入式攻击之实施过滤和监视工具
  在Web应用程序和数据库这个水平上的过滤和监视工具可有助于阻止攻击并检测攻击行为,从而减轻暴露在大规模的SQL注入式攻击中的风险。
  在应用程序水平上,企业应当通过实施运行时的安全监视来防御SQL注入攻击和生产系统中的漏洞。同样地,Web应用防火墙也有助于企业部署某些基于行为的规则集,可以在发生损害之前阻止攻击。
  在数据库水平上,数据库活动监视还可以从后台过滤攻击。数据库的监视活动是对付SQL注入的一种很强大的工具。对于目前所知道的注入攻击而言,应当部署好过滤器,以便向数据库管理员发出警告:正在发生不太安全的问题;还要有一些一般的过滤器,用以查找SQL注入攻击中的典型伎俩,如破坏SQL代码的不规则的数字引用等。
应对SQL注入式攻击之精心编制错误消息

  黑客可以利用你的错误消息,以便于将来对付你。所以开发团队和数据库管理员都需要考虑:在用户输入某些出乎意料的“数据”时,应当返回的错误消息。
  企业应当配置Web服务器和数据库服务器,使其不输出错误或警告消息。因为攻击者可以利用“盲目SQL注入”等技术来了解你的数据库设计细节。
  应对SQL注入式攻击之及时打补丁并强化数据
  由于没有打补丁或者配置错误,而造成与Web应用程序相关联的数据库遭受攻击,那么与SQL注入攻击相关的风险也会因之增加。
  很显然,只要有补丁可用,你就需要给数据库打补丁,并且还要给Web应用程序和Web服务打补丁。
  此外,别忘了你的数据库是怎样配置的。你需要禁用不必要的服务和功能,目的是为了强化数据库及其赖以运行的操作系统。
  应对SQL注入式攻击之限制数据库的特权
  最后,企业需要更好地管理与Web应用程序相关的账户与后台数据库交互的方式。许多问题之所以发生,其原因在于数据库管理员全面开放了一些账户,其目的是为了让开发人员更轻松地工作。但是,这些超级用户账户极易遭受攻击,并会极大地增加由SQL注入攻击及其它Web攻击给数据库所造成的风险。
  一定要正确地管理所有的账户,使其仅能以最低的特权访问后台的数据库,当然前提是能够完成其工作。你一定要保障这些账户不会拥有对数据库作出更改的权利。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享

66

主题

1241

帖子

409

金币

初级会员

www.tongren365.com|tongren.tv

Rank: 1

积分
2617
2#
发表于 2011-2-15 13:49:30 | 只看该作者
为了不扰乱会员对源码的测试,有问题咨询右侧客服不要直接回复,否则视为非法信息屏蔽会员ID!
杂谈区         雄起!

        铜仁职院       桃源团    桃园铜仁

26

主题

7641

帖子

2400

金币

中级会员

Rank: 3Rank: 3

积分
10529
3#
发表于 2011-7-20 18:08:14 | 只看该作者
为了不扰乱会员对源码的测试,有问题咨询右侧客服不要直接回复,否则视为非法信息屏蔽会员ID!
桐乡外卖网 http://www.txwaimai.com
嘉兴外卖网 http://www.jxwaimai.com   
嘉兴交友网 http://www.jxyuan.com
绵阳房产网 http://www.myfcw.cn  
禾城主机   http://www.cn0573.net
嘉兴QQ群   http://qqun.cn0573.net  
桐乡做网站 http://im.cn0573.net

26

主题

7641

帖子

2400

金币

中级会员

Rank: 3Rank: 3

积分
10529
4#
发表于 2011-7-21 23:49:34 | 只看该作者
为了不扰乱会员对源码的测试,有问题咨询右侧客服不要直接回复,否则视为非法信息屏蔽会员ID!
桐乡外卖网 http://www.txwaimai.com
嘉兴外卖网 http://www.jxwaimai.com   
嘉兴交友网 http://www.jxyuan.com
绵阳房产网 http://www.myfcw.cn  
禾城主机   http://www.cn0573.net
嘉兴QQ群   http://qqun.cn0573.net  
桐乡做网站 http://im.cn0573.net
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

锦尚中国源码论坛

聚合标签|锦尚中国,为中国网站设计添动力 ( 鲁ICP备09033200号 ) |网站地图

GMT+8, 2024-11-16 13:58 , Processed in 0.142525 second(s), 25 queries .

带宽由 锦尚数据 提供 专业的数据中心

© 锦尚中国源码论坛 52jscn Inc. 非法入侵必将受到法律制裁 法律顾问:IT法律网 & 褚福省律师 锦尚爱心 版权申诉 版权与免责声明