听xundi总说这个溢出以前老早就有了,google了一下也没找到,不管它,照发,呵呵Just for fun~~ 金山词霸缓冲区溢出漏洞 by Sowhat2004.10.26CN:http://secway.org/Advisory/Ad20041026CN.txtEN:http://secway.org/Advisory/Ad20041026EN.txt[I.T.S] Security Research Team 厂商: 金山公司 受影响的产品: 金山词霸 2002金山词霸 2003金山词霸 2004金山词霸 2005 (??) 背景: 金山词霸是一款国内非常流行的翻译软件,很好用 :-)更多信息请查看www.kingsoft.com 描述: 当金山词霸的屏幕取词功能打开以后,默认采用“鼠标取词”,即当用户的鼠标移动到某个单词或句子时,金山词霸会自动匹配词库,显示翻译,如果没有找到与该词或句子的相匹配的翻译,则显示类似“JUSTFORTEST 没找到”的提示信息。 当金山词霸检测到鼠标移动,指向某个单词时,会首先将这个单词copy到一个缓冲区,由于缓冲区大小设置以及处理方式存在问题,所以当用户鼠标指向一个大于等于88个字节的字符串时,xdict.exe的cpu占用率猛增到99% ,系统挂起,必须重起机器。 根据朋友的测试,在Win2k Pro + 金山词霸2005的环境下,系统不会挂起,金山词霸首先会自动关闭屏幕取词功能,加长字符串以后,金山词霸会自动关闭。(我没有环境仔细测试,呵呵,有条件的朋友如果有兴趣的话可以把更精确的测试结果贴出来,多谢) Exploit:打开记事本,输入88个AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 打开金山词霸及其“屏幕取词”功能,将鼠标指向这个字符串,系统就会挂掉。 精心构造的字符串或许可以执行任意命令 解决方法:在厂商没有推出相应的补丁之前,建议用户将屏幕取词设置为通过CTRL键提取。 厂商回应:2004.10.26 在金山网站在线提交2004.10.27 金山公司回复已经交给相关人员进行测试没有进一步的实质性的回复 :-) 后记:这个bug是我在无意中发现的,危害很小,just for fun,bug无处不在 感谢MiaoDeyu对2005版的测试,感谢ITS的所有成员。