受影响系统:
Microsoft SQL Server 2000
- Microsoft Windows NT 4.0
- Microsoft Windows 2000 SP3
Microsoft SQL Server 7.0
- Microsoft Windows NT 4.0
- Microsoft Windows 2000 SP3
Microsoft SQL Server Desktop Engine (MSDE) 1.0
- Microsoft Windows NT 4.0
- Microsoft Windows 2000 SP3
Microsoft SQL Server Desktop Engine 2000
- Microsoft Windows NT 4.0
- Microsoft Windows 2000 SP3
描述:
BUGTRAQ ID: 5481
CVE(CAN) ID: CVE-2002-0721
Microsoft SQL Server是微软公司开发的一套商业数据库系统,应用在Microsoft Windows系统下。SQL Server 7.0 和 SQL Server 2000提供了对扩展存储过程的支持,扩展存储过程是一些由C或C#等编程语言编写的外部程序。SQL Server可以象调用正常的存储过程那样使用这些扩展存储过程。SQL Server 7.0 和 SQL Server 2000缺省带了一些外部存储过程。
SQL Server 7.0 和 SQL Server 2000缺省带的几个外部存储过程缺少必要的权限限制,可能导致低权限用户执行它们进而完全控制数据库系统。
SQL Server缺省带了下列外部存储过程:
xp_execresultset
xp_printstatements
xp_displayparamstmt
缺省它们允许任意用户访问,因此本地的低权限用户可以直接向它们发送SQL请求。由于这些存储过程执行时会重新连回SQL数据库,并且会以SQL Server运行帐号的身份执行SQL查询请求。这就带来了一个权限提升问题,未授权用户可以获得SQL Server运行帐号权限,这可能允许攻击者插入、删除、修改数据库数据,甚至完全控制操作系统。
有本地用户权限的攻击者可以直接进行攻击,攻击者也可能利用Web前端的SQL注入漏洞来进行攻击。
<*来源:David Litchfield ([email protected])
链接:http://www.ngssoftware.com/advisories/mssql-esppu.txt
http://www.microsoft.com/technet/security/bulletin/MS02-043.asp
*>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 数据库管理员应该限制下列三个外部存储过程的访问权限,只允许数据库管理员访问:
xp_execresultset
xp_printstatements
xp_displayparamstmt |