Microsoft SQL数据库服务程序存在格式字符串漏洞发布时间:2001-12-22 更新时间:2001-12-22 严重程度:高 威胁程度:远程管理员权限 错误类型:输入验证错误 利用方式:服务器模式 受影响系统 Microsoft SQL Server 7.0 and 2000详细描述 SQL服务程序提供内置功能为错误信息提供格式化输出,这些内置功能可以被 所有用户访问,提供恶意构建的输入并提交给这些功能的时候,会导致SQL服务 进程出现溢出,要采用这种攻击,攻击者必须有执行SQL查询的权限。 raiserror() 函数可以被所有用户访问,允许指定一超长的字符串,这样就可以 导致一次缓冲溢出,另外格式化字符串也可以被使用,造成攻击者可以写任意 地址到内容。 formatmessage() 内置功能也可以被所有用户使用到,通过构建特定的信息任意 用户可以使包含在信息中的恶意代码被执行。 xp_sprintf 扩展存储过程允许指定超长的字符串可以导致缓冲溢出。 测试代码 尚无 解决方案 请尽快采用如下补丁: SQL Server: SQL Server 7.0: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=34131 SQL Server 2000: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=34131 C Runtime: Windows NT 4.0: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=33500 Windows 20000: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=33500 Windows XP: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=35023 相关信息 参考:http://www.microsoft.com/technet/security/bulletin/MS01-060.asp www.atstake.com/research/advisories/2001/a122001-1.txt |