mramydnei · 2014/03/09 11:17

0x00 前言


很多时候我们会因为一个活动或者一些其它的原因建立一些临时的站点。但是糟糕的是一旦这一切过去后我们会忘了关闭它。就像我在http://hk.promotions.yahoo.com上发现的这个漏洞一样,那些临时站点往往成为我们强大安全体系中的软肋。

0x01 初探


让我们看看我在雅虎香港的这个子站上发现的一些有趣的东西:

就如同你从请求日志中当中所看到的, 有些东西正在尝试跨域请求其它域名下的数据。

http://hk.promotions.yahoo.com/petshow2011/php/getImages.php?file=<url>
复制代码

跨域代理对于挖洞的人来说,就像是金矿般的存在。我们总能从它身上找到一些漏洞,这一个也不例外。不得不说,我们很幸运。因为这里并没有用白名单来限制URL所指向的域名。而且这个代理居然没有在Response上设置content-type。这意味着?嗯,我们找到了一个XSS。

但这个XSS并不能让我兴奋起来。因为它只不过是一个在几乎可以看作是静态网站上的XSS。换句话来说,它根本就没有任何价值。

0x02 变废为宝


那我们如何才能让它变得有用呢?还记得content-type的事情吧?嗯,一个没有设置content-type的response意味着我们可以控制整个response的内容。那我们为什么不试着搞一个swf呢?这样就意味着我们在hk.promotions.yahoo.com域下拥有一个完全可控的swf文件。也许有人会问为什么swf会比HTML更有用呢?其实我很想说是因为“爱情”,但实际上是因为crossdomain.xml。因为flash可以在crossdomain.xml允许的前提下进行一些跨域的通讯,那么接下来我们只要在找到一些设置上不太安全的crossdomain.xml就可以搞一些有趣的事情了。在经过一些列的检测后我把目标锁定在了下面的三个域名里。

finance.yahoo.com:

#!html
<cross-domain-policy>  <allow-access-from domain="*.yahoo.com"/>  <allow-access-from domain="us.js2.yimg.com"/>  <allow-access-from domain="*.yimg.com"/>
</cross-domain-policy>
复制代码

www.flickr.com:

#!html
<cross-domain-policy>  <allow-access-from domain="*.yahoo.com"/>  <allow-access-from domain="l.yimg.com"/>  <allow-access-from domain="d.yimg.com"/>  <allow-access-from domain="s.yimg.com"/>  <site-control permitted-cross-domain-policies="master-only"/>
</cross-domain-policy>
复制代码

ca-mg5.mail.yahoo.com 不过似乎这个比前两个更加有趣一些

#!html
<cross-domain-policy>  <allow-access-from domain="*.yahoo.com" secure="false"/>  <allow-access-from domain="l.yimg.com" secure="false"/>  <allow-access-from domain="s.yimg.com" secure="false"/>
</cross-domain-policy>
复制代码

如果你把注意力放在这个secure=flase上面,我想你应该没白这个设置会允许我们通过HTTP的方式来访问一些只允许通过HTTPS来访问的资源。详情可以参见:“Using false in an HTTPS policy file is not recommended because this compromises the security offered by HTTPS.”

现在一切都已经很明了了。我们可以借助我们构造的swf文件来和ca-mg5.mail.yahoo.com 进行通讯。使用工具SWF<->JS XHR proxy,让我们尝试着来搞点邮件吧!我们先尝试通过这个swf里的JavaScript来发送一些跨域的请求:

看上去一些都很顺利。我们可以从response中看到收获的auth tokens和一些个人信息。然而借助其中的一个token我们可以列出邮件的列表

进一步我们可以通过使用这些message id来阅读邮件的内容

当然,因为我们可以读取那些具有CSRF tokens的页面,所以我们也可以试着删除一些邮件或者以当前用户的身份来发送邮件。当然可能更加有趣的是我们可以控制所有绑定了这个邮箱的帐号,重置那些帐号的密码并偷偷的删除那些重置邮件。

0x03 最后


作为修复方案,雅虎安全团队选择删除了这个站点。不得不说这也是个不错选择。但是关于crossdomain.xml,他们表示并不会对齐进行任何的修改。也许业务的紧密度和业务线的长度在某些时候并不能让我们做一些变动。但这仍然是个需要被解决的问题。

PS:yahoo为此漏洞支付了作者3000刀!~

from:blog.saynotolinux.com/2014/03/01/…

雅虎某分站的XSS导致雅虎邮箱沦陷相关推荐

  1. ImageMagick再爆严重漏洞,可导致雅虎邮箱用户邮件内容泄漏

    本文讲的是ImageMagick再爆严重漏洞,可导致雅虎邮箱用户邮件内容泄漏, 在安全研究员发现图片处理库ImageMagick存在严重漏洞.可导致服务器内存数据泄漏错误后,雅虎工程师决定把自家网站上 ...

  2. 雅虎被告存在重大疏忽 导致5亿账户信息被黑

    雅虎被告存在重大疏忽 导致5亿账户信息被黑 责任编辑:editor004 作者:乐学编译 |  2016-09-25 10:52:36 本文摘自:腾讯科技 据外媒报道,周五,一名用户状告互联网巨头雅虎 ...

  3. 【干货】用EDM群发邮件会不会导致企业邮箱被封?

    企业邮箱对于外贸企业而言非常重要,它是与国外客户沟通的重要通信工具.所以,企业邮箱不能用来群发邮件,甚至对于每日发信的量都严格限制,发送频率也严格限制,这样才能确保企业邮箱的信誉良好.企业邮箱不会被封 ...

  4. 雅虎搜索怎么切换中英文_雅虎! 实际上在付费搜索中处于领先地位

    雅虎搜索怎么切换中英文 A blog post from Compete reveals that when you do a little finagling to the stats, it is ...

  5. 雅虎通——从怀念我的雅虎说起

    最开始大量接触网络是从2000年开始的,而且居然不知道Google的大名,搜索.门户,全在Yahoo上进行,说自己赖在Yahoo网站里也不为过. 不过关系不是很大,那时Yahoo搜索的技术支持是Goo ...

  6. 阿里巴巴回购雅虎股权 雅虎收购变成三巨头博弈

    备受互联网业界关注的微软雅虎并购案近日再生变数.一场在微软雅虎之间展开的角力正向三方利益博弈演变. "无论如何,阿里巴巴加入利益博弈,对这场一直僵持不下收购案来说,会是一个转折点." ...

  7. 李想称十年后要成为汽车界苹果;雅虎邮箱停服;Linux内核欲采用现代C语言标准 | 极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  8. 统一管理邮箱,免费开启雅虎POP3

    统一管理邮箱,免费开启雅虎POP3 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&q ...

  9. 使用雅虎邮箱的几大收获

    使用雅虎邮箱的几大收获 文/王艺建 最近获悉雅虎邮箱升级了,对互联网产品保持高度关注的我也饶有兴趣的注册了一个雅虎帐号,开始了雅虎邮箱的体验之旅,在不到5分钟的体验历程中我就感受到了雅虎邮箱的几大收获 ...

最新文章

  1. C#从SQL server数据库中读取l图片和存入图片
  2. 常用的数据结构-链表
  3. 为了做到微服务的高可用,鬼知道我出了多少张牌
  4. 直接插入排序(内部排序)
  5. 【Redis】redis开机自启动、设置守护进程、密码设置、访问权限控制等安全设置(redis默认端口6379)...
  6. liunx系统优化之 TCP sysctl
  7. centos常用网络管理命令
  8. 《A Sub-Pixel Edge Detector: an Implementation of the Canny/Devernay Algorithm》
  9. AngularJS Directive 命名规则
  10. DBC2000数据库,DBC2000怎么设置?DBC2000架设传奇教程
  11. xilinx基础篇Ⅰ(7)ISE14.7开发基础流程 [CPLD章节]
  12. DICOM获取worklist患者列表抓包分析
  13. python库cloudmusic: 网易云爬虫解决方案,轻松获取你想要的数据。
  14. vue 下载pdf文件
  15. 用华为模拟器ENSP构造校园网(第二天)配置总网络拓扑DHCP中继
  16. bandicam去水印
  17. 游戏1024设计分析
  18. Web端实现视频通话
  19. bixby服务器没响应,猫盘开启ssh教程(原版系统,听闻一键x3p已经不能用了!)...
  20. 番茄工作法(番茄钟时间管理)

热门文章

  1. 重温目标检测--YOLO v2 -- YOLO9000
  2. LeetCode 175. Combine Two Tables--Database--数据库题目
  3. C语言注释的匹配的正则表达式
  4. C++读某个内存地址对应的值
  5. linux系统中的文件传输
  6. win10系统英雄联盟老是重新连接服务器,win10lol重新连接无法连接服务器重试该怎么才能解决...
  7. raptor算法流程图例题_raptor程序设计例题参考答案
  8. matlab中的histc,Matlab histc与矢量箱
  9. java二级选择题要对一半吗_据说一半以上的java程序员会出错的题
  10. (Shadow,Gradient)