包头东河客户:最近,在QQ上和一个人吵嘴了,现在如果接收他发过来的信息,QQ就出错并关闭,但接收其他人的信息就不会出错,这是什么?
工程师分析原因如下:
这可能是由于对方利用QQ2000的缓冲区溢出漏洞进行的攻击。在QQ2000安装目录的文件riched21.dll中存在一个缓冲区溢出漏洞,该漏洞可导致发送内容为:{\rtfl\ansi\ansicpg936\deff0\deflang1033\flangfe052{fonttb\f0\fnil\fcharsetl34
'cb'ce'cc'e5;}}\fsl800000000000000000000000000000的消息,对方用户接收消息时,出现缓冲区溢出,QQ2000应用程序崩溃。
提示
其中\fs是用来设置后面的文字bye的字体大小的,当字体大小数字串长度超过32字节时,就会引发缓冲区溢出,当超过34字节以后就有可能会导致应用程序崩溃。
排除过程
(1)下载补丁文件,关闭QQ并用下载的文件替换原文件,下载地址为:http://blue_code.8u8.com/riched21.zip。
(2)由于该用户存在恶意,可以将其拉入QQ的“黑名单”组,这样将拒绝接收他的所有信息。 |