帮你六步改善SQL Server安全规划全攻略

作者:010032 时间:2009-01-20 15:07:00 

本文帮你六步改善SQL Server安全规划全攻略。

一、什么是SQL注入式攻击

所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如:

⑴ 某个ASP.NET Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码。

⑵ 登录页面中输入的内容将直接用来构造动态的SQL命令,或者直接用作存储过程的参数。下面是ASP.NET应用构造查询的一个例子:

System.Text.StringBuilder
query = new System.Text.StringBuilder(
"SELECT * from Users WHERE login = '")
.Append(txtLogin.Text)
.Append("' AND password='")
.Append(txtPassword.Text).Append("'");

⑶ 攻击者在用户名字和密码输入框中输入"'或'1'='1"之类的内容。

⑷ 用户输入的内容提交给服务器之后,服务器运行上面的ASP.NET代码构造出查询用户的SQL命令,但由于攻击者输入的内容非常特殊,所以最后得到的SQL命令变成:

SELECT * from Users WHERE
login = '' or '1'='1' AND
password = '' or '1'='1'
 
⑸ 服务器执行查询或存储过程,将用户输入的身份信息和服务器中保存的身份信息进行对比。

⑹ 由于SQL命令实际上已被注入式攻击修改,已经不能真正验证用户身份,所以系统会错误地授权给攻击者。

如果攻击者知道应用会将表单中输入的内容直接用于验证身份的查询,他就会尝试输入某些特殊的SQL字符串篡改查询改变其原来的功能,欺骗系统授予访问权限。

系统环境不同,攻击者可能造成的损害也不同,这主要由应用访问数据库的安全权限决定。如果用户的帐户具有管理员或其他比较高级的权限,攻击者就可能对数据库的表执行各种他想要做的操作,包括添加、删除或更新数据,甚至可能直接删除表。

标签:
0
投稿

猜你喜欢

  • 详解CSS的优先权

    2008-05-11 18:57:00
  • 背景图片千万不要gzip压缩,尤其是PNG

    2009-06-19 12:42:00
  • 使用ASP实现广告代理

    2010-05-27 12:15:00
  • Dreamweaver 网页编辑常用表现的实现方法

    2010-10-20 20:05:00
  • asp如何在读取Excel文件时创建列表的下拉菜单?

    2010-06-18 19:59:00
  • 用户体验设计何去何从,交互设计师又何去何从?

    2009-12-28 13:07:00
  • 讲解Access数据库中数据表的自动重新联接

    2008-11-28 16:29:00
  • 细化解析:Mysql数据库对文件操作的封装

    2008-11-27 16:32:00
  • 不受欢迎的“欢迎页”

    2008-04-20 16:41:00
  • 将内容自动添加到指定文本域的JS

    2007-10-08 12:50:00
  • asp防范SQL注入攻击的函数

    2008-03-11 12:23:00
  • ASP处理XSLT转换XML的实现

    2008-10-20 18:37:00
  • MySQL Proxy应用入门(1)--安装MySQL Proxy

    2011-03-08 09:50:00
  • escape,encodeURI,encodeURIComponent函数比较

    2008-01-27 11:19:00
  • 为JavaScript程序添加客户端不可见的注释

    2008-05-31 08:02:00
  • asp在sql server2000中新建帐号和给帐号权限代码

    2008-01-29 13:46:00
  • ASP判断一个字符串中只包含字母和数字

    2008-08-08 12:12:00
  • ASP实现SQL语句日期格式的加减运算

    2008-11-07 15:13:00
  • asp中提取HTML中图片的SRC路径

    2008-10-24 08:42:00
  • SQLServer中字符串左对齐或右对齐显示的sql语句

    2012-06-06 19:36:45
  • asp之家 网络编程 m.aspxhome.com