当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库超级管理员账号防护

MSSQL
在SQL Server 2005数据库中更改数据架构
建立适当的索引是实现查询优化的首要前提
巧用一条SQL 实现其它进制到十进制转换
处理SQL Server 2000的命名实例和多实例
解析:怎样掌握SQL Server中的数据查询
教你轻松掌握常用的子句、关键词和函数
如何获取SQL Server数据库元数据的方法
分析SQL Server中数据库的快照工作原理
汇总数据库备份 还原 压缩与数据库转移的方法
完全讲解 使用MSCS建立SQL Server集群
SQL Server 2005 内置工具建审查系统
在SQL Server计算机上运行病毒扫描软件
教你如何升级SQL Server数据库系统
SQL Server中处理空值时涉及的三问题
教你为SQL Server数据库构造安全门
在SQL Server中编写通用数据访问方法
针对SQL Server中业务规则链接的分析
运行SQL Server的计算机间移动数据库
怎样在不同版本SQL Server中存储数据
认识那些被忽略的SQL Server注入技巧

MSSQL 中的 SQL Server数据库超级管理员账号防护


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 144 ::
收藏到网摘: n/a

提到sa弱口令,我们首先就会想到,许多数据库都有1个类似的超级管理员账号,比如:Oracle是"system"和"sys",Sybase也是"sa",MySQL里有"root"(不是UNIX系统账号的那个root)。如果没有设置相对应的密码或者你设的密码强度太低过于简单,那么入侵者就能直接登陆并攻击数据库服务器,他们甚至可以获得你操作系统的最高级别的权限。说到这里,有的人也许不相信,曾经有人和我说:"数据库被攻破最多你的那些表啊什么的被人家拿走,对方怎么可能获得操作系统最高权限呢?"其实,我并不是在危言耸听,下面我就假设某台SQL Server 2000的数据库的SA密码被破解为例,来看看黑客在取得了数据库权限后如何进1步把自己变成系统的管理员。

目前,网络上有不少此类工具,可以方便那些不熟悉SQL的人用,其实完全不用去下载那种工具,只要用微软自己的SQL Server里自带客户端程序连上去就马上可以轻松的把自己变成整个操作系统的超级管理员了。具体的过程,我就为大家讲解1遍,这里先假设黑客已经通过其他工具暴力破解了你设置的强度教低的sa帐号的弱口令,或者你根本就没有为sa账号设置口令。首先黑客打开SQL Server查询分析器,以sa身份和他刚暴力破解的密码登陆进你的SQL Server数据库,然后他执行以下语句:

xp_cmdshell "net user zxc nopassword /add" go xp_cmdshell "net localgroup /add administrators zxc" go

这时候,你如果打开你的计算机管理-----本地用户和组-----用户,这时候你会发现里面已经多出了1个叫zxc的新账号,查看一下此帐号的属性,你更会发现他竟然隶属于administrators组。

说到这里大家肯定都明白了,对,黑客通过调用SQL Server的系统数据库master里的xp_cmdshell这个扩展存储过程轻松的将他自己变成了你服务器上的超级管理员,那么以后他还有什么事情会干不了呢。

因此,如果大家在平时不需要调用此存储过程的话,可以考虑将它删除,当然不管你平时是不是要调用此存储过程,你都应该为你的sa账号设置1个十分健壮的密码,这是最根本、最重要的,你可以打开SQL Server的企业管理器,然后选择安全性-----登陆,右击sa账号,选择属性,然后在属性对话框里修改您的sa帐号所对应的密码,这里我建议你要尽可能的设置的复杂些,可以用英文字母结合数字结合特殊符号等,这样就可以防止黑客对此帐号的暴力破解,当然最好是在安装您的SQL Server的时候就已经完成此项工作,以免日后因人为遗忘等原因带来安全隐患。