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

爱威一万年

爱威一万年

2016-02-19 21:17

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享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("'");

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

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

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

SELECT * from Users WHERE
login = '' or '1'='1' AND
password = '' or '1'='1'

  ⑸ 服务器执行查询或存储过程,将用户输入的身份信息和服务器中保存的身份信息进行对比。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

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

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

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

展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
SQL Server六步改善安全规划全攻略

SQL Server安全规划全攻略

SQLServer
SQL Server安全规划全攻略

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL Server数据库安全规划全攻略

编程语言 网络编程
SQL Server数据库安全规划全攻略

“孕”动安全攻略

孕期
“孕”动安全攻略

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

宝宝出行安全坐车全攻略

儿童安全
宝宝出行安全坐车全攻略

SQL Server安全专题:SQL Server 2000的安全配置

编程语言 网络编程
SQL Server安全专题:SQL Server 2000的安全配置

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Oracle与SQL Server在企业应用中的比较

Oracle与SQL Server在企业应用中的比较

Dreamweaver 入门:安装 Dreamweaver8

Dreamweaver 入门:安装 Dreamweaver8
下拉加载更多内容 ↓