密码遗失急救:从“漏洞”进系统

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

公司有一台安装在Windows 2000 Server上的SQL Server 2000数据库服务器,由于仅仅是作为数据库服务器用,平时甚少登录桌面,即使有登录,为了更好的安全性,也都是用的另一个专门创建的低权限账户进入桌面,正因如此,天长日久,倒搞忘了本机管理员的密码,由于一些原因,这台服务器也没加入域,所以也不能指望用域管理员的账户登入,但今天又必须用管理员用户登录进行一些操作,该怎么办呢?

以前也曾听过很多种密码忘记后的解决方法,但都一时救不了近火,正在发愁之际,突然想到了SQL Server 2000的系统扩展存储过程xp_cmdshell,一直以为它不过是个漏洞,想不到此时还可以帮我大忙(当然关键是还记得那个sa的密码)。下面就来看看怎样利用xp_cmdshell来登入服务器。

首先需要一个客户端连接上SQL Server 2000服务器,由于当时没有SQL Server 2000的光盘,所以也就没法直接用它安装图形化的SQL Server 客户端,还好找到一张Office 2000的光盘,从中搜索到osql.exe文件(osql可以说是命令行下的SQL Server客户端,它相当于isql工具,但功能更加强大,支持SQL Server 2000的全部功能,用osql /?可以查看它的详细用法)。于是打开命令行窗口进入osql.exe所在目录,执行下面的命令:

osql -S 192.168.0.88 -U sa ?P password -Q “xp_cmdshell 'net user test 123 /add'”

osql -S 192.168.0.88 -U sa -P password -Q “xp_cmdshell 'net localgroup administrators test /add'”

通过上面的操作我就在服务器上新添加了一个名为test,密码为123的管理员账户。然后我就用它登录并修改了administrator的密码,然后删掉了test账户。看一下,是不是这种方法还不错,其实这也看出了xp_cmdshell的双面性,利用好时,它真的可以成为一个好的管理工具,只是为了安全性,你的数据库的sa密码一定要设好才行。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航