商讯信箱
用户名:
@
vip.it168.com
free.it168.com
udc.it168.com
staff.it168.com
it168.com
密 码:
注册
|
忘记密码
登录
个人用户
经销商
用户名:
密 码:
注册
|
忘记密码
验证码:
看不清?
用户名:
密 码:
注册
|
忘记密码
登录
注册
返回首页
门户
|
论坛
|
Blog
|
新闻
|
文档
|
Tag
|
下载
|
搜索
|
培训
|
WiKi
|
IXPUB
|
投稿
|
专题
频道:
Oracle
|
DB2
|
SQL Server
|
ERP
|
SCM
|
Java
|
微软技术
|
开源
|
项目管理
|
SOA
|
商业智能
|
IBM软件技术
您的位置:
首页
>
技术频道
> 正文
在C#3.0中使用LINQ轻松防御SQL注入攻击
[
收藏此页
] [
打印
]
作者:
IT168 极地圣火
2007-11-05
内容导航:
什么是SQL注入
第1页:
什么是SQL注入
第2页:
SQL注入攻击剖析
第3页:
典型的SQL安全防护
第4页:
LINQ概述
第5页:
通过LINQ使数据访问更安全
【IT168 专稿】
随着Internet逐渐普及,基于Web的各种非法攻击也不断涌现和升级,因此,很多开发人员被要求使他们的程序变得更
安全
可靠,这也逐渐成为这些开发人员共同面对的问题和责任。而很多使用Web系统的企业也不断投入大量的资金,以购买和使用更安全的框架和
软件
平台。很多开发人员也从一开始设计程序时就注重使用更有效的方法来建立安全的应用程序,并防止有破坏性的攻击。但不幸的是,开发团队的成员经常缺乏这方面的训练,以及进行安全设计的相关经验。
当开发人员为应用程序加入更多的安全防护罩时,也许最先考虑的Web应用程序攻击就是我们众所周知的SQL注入攻击。这是一种通过命令注入方式进行攻击的方式。命令注入是任何通过在服务端运行非授权程序进行攻击的基本方法。这种方法一般是通过在客户端输入特殊或不可预料的字符串(在字符串中包含有破坏性的命令)来改变Web程序被期望的运行结果。由于这种攻击方式非常普遍,也非常容易掌握,因此,SQL注入攻击被大范围地使用,所以它是非常危险的,甚至是防不胜防的。但幸运的是,如果我们理解了SQL注入攻击的原理,是很容易防御的。随着微软的.NET技术的不断发展,也为开发人员提供了新的数据接口,如果适当使用它们,就可以完全防止SQL注入攻击。这项技术被称为集成查询语言,也就是LINQ(将在本文的后面进行讲解)。这项技术将和即将发布的Visual Studio2008以及.NET Framework 3.5一起发布。本文将带领读者探索如何利用LINQ来防止Web程序的SQL注入攻击,读者将会从本文深刻体会到LINQ在这方面的无限潜力。
一、什么是SQL
注入
SQL
注入是一种对Web应用程序进行的攻击,黑客通过向应用程序传递恶意数据,并欺骗
服务器
将其当成正确的命令并执行。虽然这种攻击方法非常容易防御,但它也是非常普遍和有害的。这是因为它可以允许攻击者直接运行命令来操作我们的工作数据。在很多极端的情况下,攻击者不仅仅可以访问我们所有的数据,而且还可以删除表和数据库。甚至可以得到控制数据库
服务器
的权利。
既然这些攻击如此容易防御,那么它们为什么如此危险呢?首先,我们的应用数据库是一个非常吸引人的蛋糕,原因很简单,因为在数据库中保存了很多黑客非常关心的数据。如果
SQL
注入成功后,攻击者是非常容易通过这种方式检测并浏览到这些数据的。虽然
SQL
注入错误并不是开发人员最容易犯的错误,但它可能却是攻击者最常使用,也是最容易成功的攻击方式。
检查
SQL
注入攻击最容易的方法就是在应用程序中可以访问数据库的表达式处插入一个元字符串。如一般网站都会包含一个
search
输入字段,如果一个攻击者输入一个数据库元字符,如一个
"'"
符号,如果应用程序反回一个数据库错误信息,攻击者不仅可以知道他已经发现了这
个应用程序的数据库信息的一部分,而且他可以向其注入更多有意义的命令,并使服务器执行它们。
应用程序安全专家
Michael Sutton
最近使用
Google Search API
在数分钟之内发现了数以百记的易受
SQL
注入攻击的网站。
1
1
2
3
4
5
【内容导航】
第1页:
什么是SQL注入
第2页:
SQL注入攻击剖析
第3页:
典型的SQL安全防护
第4页:
LINQ概述
第5页:
通过LINQ使数据访问更安全
©版权所有。未经许可,不得转载。
[责任编辑:
李宁
]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
CopyRight 1999-2006 itpub.net All Right Reserved. E-mail:Webmaster@itpub.net
北京皓辰广域网络信息技术有限公司. 版权所有
京ICP证:010037号
联系我们
法律顾问