免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 网站相关 > 网站安全 > 解密百度阅读器远程执行任意文件漏洞

解密百度阅读器远程执行任意文件漏洞

时间:2012-04-03 19:43来源:未知 整理:寂涯网络 点击:

百度阅读器是一款向用户提供文字阅读功能的工具性软件,它支持主流文档格式,如
txt、pdf、doc、ppt 等,还支持在线阅读书籍,可以借助网络阅读更多的文档。该软件的 使用界面也十分清爽,如图 1 所示。
图1
在使用百度阅读器阅读文档的时候,该软件模拟真实书籍阅读方式,将文档展现的用
户面前,从这一方面来讲,确实显得非常引人喜欢,如图 2 所示。
图2
在将百度阅读器安装进系统的时候,该软件自带了一个 ActiveX 控件,文件名为
“BRIEPlugin1.1.0.274.dll”。使用       ComRaider 查看该控件提供的所有外部接口,如图 3
所示。
图3
从图 3 中看到,“BRIEPlugin1.1.0.274.dll”提供的外部接口非常丰富,在我们的测
试中发现,出现问题的外部接口较多,而这里最引起我们关注的是一个名为“OpenPage”的
外部接口。该外部接口的函数原型为:
 
Sub OpenPage (
    ByVal strPageURL  As String
)
从函数原型我们发现,“OpenPage”的参数只有一个,其属于字符串型。面对这种参数,
一般情况下,我们都会考虑对其进行缓冲区溢出测试,但是,这里我们却不这样考虑。借助
OllyDbg 我们对“BRIEPlugin1.1.0.274.dll”文件进行了反汇编分析,发现其中调用了一 个不安全函数“ShellExecuteW”,如 图 4 所示。
图5
“ShellExecuteW”是一个可以运行任何文件的系统函数,我们怀疑该函数在某种情
况下,通过调用“BRIEPlugin1.1.0.274.dll”文件的外部接口可以触发该函数。很幸运, “OpenPage”这个外部接口就是“ShellExecuteW”函数的调用者。我们可以写一个简单的测试网页代码来证明这个分析,网页代码如下所示。
<object    classid="clsid:4EA36CDF-1236-45E8-B7E8-B6140C617A21" name="evil" ></object>
<script>
document.write(evil.OpenPage("cmd.exe"));
</script>
保存上面的代码为 index.htm,上传该网页文件到服务器上,用 IE 访问该网页,效果如图 5
所示。
图7
图 5 的画面已经足以说明一切,“BRIEPlugin1.1.0.274.dll”文件的“OpenPage”确
实调用了“ShellExecuteW”函数,而“strPageURL”这个参数就代表了被运行文件的名称。
现在,我们可以发挥自己的想象力来构造出任意 exploit 网页,例如使用死循环调用程序造
成用户系统死机、采用欺骗页面诱使用户运行远程木马等等。
百度阅读器出现的这个安全漏洞,从实质上说是一个执行任意文件的安全漏洞,危害 较大,尤其是漏洞发生在 ActiveX 控件上,这就使得该漏洞可以实现远程攻击的效果。编程人员在设计该 ActiveX 控件的时候,可能没有仔细考虑到安全方面的要求,疏忽了对系统函 数的调用进行安全封装。“ShellExecuteW”函数的作用不仅仅限于运行可执行文件,凡是系 统注册、有相关联类型的文件都可以被成功运行,还有协议类,如 mailto。面对这样的函数,编程人员应该对用户提交的参数进行严格审核,微软在 2010 年就对“ShellExecuteW” 函数出现的安全漏洞进行了修补,其性质类似于此。所以,希望本文能够引起百度公司的注意,及时修补该漏洞。


本页地址 http://www.jybase.net/wangzhananquan/20120403816.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com