欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【帮你六步改善SQL Server安全规划全攻略】,下面是详细的分享!
帮你六步改善SQL Server安全规划全攻略
本文帮你六步改善SQL Server安全规划全攻略。
一、什么是SQL注入式攻击
所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如:
⑴ 某个ASP.NET Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码。
⑵ 登录页面中输入的内容将直接用来构造动态的SQL命令,或者直接用作存储过程的参数。下面是ASP.NET应用构造查询的一个例子:
|
以下为引用的内容: System.Text.StringBuilder |
⑶ 攻击者在用户名字和密码输入框中输入"'或'1'='1"之类的内容。
⑷ 用户输入的内容提交给服务器之后,服务器运行上面的ASP.NET代码构造出查询用户的SQL命令,但由于攻击者输入的内容非常特殊,所以最后得到的SQL命令变成:
SELECT * from Users WHERE
login='' or '1'='1' AND
password='' or '1'='1'
⑸ 服务器执行查询或存储过程,将用户输入的身份信息和服务器中保存的身份信息进行对比。
⑹ 由于SQL命令实际上已被注入式攻击修改,已经不能真正验证用户身份,所以系统会错误地授权给攻击者。
如果攻击者知道应用会将表单中输入的内容直接用于验证身份的查询,他就会尝试输入某些特殊的SQL字符串篡改查询改变其原来的功能,欺骗系统授予访问权限。
系统环境不同,攻击者可能造成的损害也不同,这主要由应用访问数据库的安全权限决定。如果用户的帐户具有管理员或其他比较高级的权限,攻击者就可能对数据库的表执行各种他想要做的操作,包括添加、删除或更新数据,甚至可能直接删除表。
以上所分享的是关于帮你六步改善SQL Server安全规划全攻略,下面是编辑为你推荐的有价值的用户互动:
相关问题:如何提高SQL Server的安全性?(下)
答:每个服务必须与一个 Windows 帐户相关联,并从这个帐户中衍生出安全性上下文。SQL Server允许sa 登录的用户(有时也包括其他用户)来访问操作系统特性。这些操作系统调用是由拥有服务器进程的帐户的安全性上下文来创建的。如果服务器被攻破了,... >>详细
相关问题:SQL Server 组件的本地安全组有哪些
答:控制面板-》卸载程序-》按文件名排序-》找到相关的文件(比如:下面图片上的)-》右键-》卸载 SQL 2005的很难卸干净,如果控制面板卸不干净,用金山360这些强力卸载也卸不干净,建议下载微软装用卸载工具,还不行只能向我一样重装系统了 >>详细
相关问题:SQL Server 2008 如何更改服务器身份验证模式
答:如果在安装过程中选择“Windows 身份验证模式”,则 sa 登录名将被禁用。如果稍后将身 份验证模式更改为“SQL Server 和 Windows 身份验证模式”,则 sa 登录名仍处于禁用状 态。若要启用 sa 登录帐户,请使用 ALTER LOGIN 语句。安全说明:sa 帐户... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
