手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>服务器技术>安全防护>列表

微软VB-TSQL调试器对象存在远程缓冲区溢出

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
微软VB-TSQL调试器对象存在远程缓冲区溢出

发布日期:2001-03-30
更新日期:2001-03-30

受影响系统:

Microsoft Visual Studio 6.0企业版
描述:

随Microsoft Visual Studio 6.0一起发行的VB-TSQL调试器对象(vbsdicli.exe)是用来
在VB开发环境中交互式地调试用Microsoft SQL Server's Transact SQL dialect编写的远
程存储过程的。该对象的某个方法在处理参数时存在一个未经检查的缓冲区。这个DCOM组件默
认是可以由Everyone从远程编程访问的。如果某程序在引用该对象时使用特殊构造的数据作为
参数,就可以使该对象崩溃,或者在安装有该对象的目标机器上执行任意代码。

存在问题的方法是:
HRESULT NewSPID([in] long spid,
[in] long pid,
[in] BSTR lpctstrDbName,
[in] short cbName,
[out, retval] short* nReturn);
该函数未检查参数lpctstrDbName的长度就将其传递给sprintf( ),因此只要给它传递一个包
含大约128字符的数据库名字就可以覆盖堆栈帧。

该调试器对象默认是随Microsoft Visual Studio 6.0企业版一起安装的,并运行在交互登录
的用户的上下文中。只有当攻击者知道某个用户安装了这个组件并且已经以交互方式登录,他
才能在此时发起成功的攻击。

<* 来源:tsabin (tsabin@razor.bindview.com)
Microsoft Security Bulletin (MS01-019)
*>



建议:

临时解决办法:

NSFOCUS建议您设置注册表权限,禁止Everyone运行和访问该组件,只允许SYSTEM和
Adminstrator运行和访问:
HKEY_CLASSES_ROOT\Appid\{124765aa-7866-11cf-bf3b-00a0d10003fa}

或者删除该组件。

厂商补丁:

微软已经为此发布了一个安全公告(MS01-018)和相应的补丁.

微软安全公告(MS01-018):
http://www.microsoft.com/technet/security/bulletin/MS01-018.asp

补丁下载:
(该补丁将包含在Visual Studio 6.0 Enterprise Edition Service Pack 6中):
Microsoft Visual Studio 6.0 Enterprise Edition:
http://msdn.microsoft.com/vstudio/downloads/debugging/default.asp



文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!