HACK80

我们很年轻,但我们有信念、有梦想!

我们坚信只有今天付出了,才有机会看到明天的太阳!
现在!加入我们,给你一个气氛优秀的技术圈子

作者: djg222000
查看: 220|回复: 0

more +随机图赏Gallery

2017年中旬WEB渗透系列课程-27HASH提权2017年中旬WEB渗透系列课程-27HASH提权
2017年中旬WEB渗透系列课程-23提权认识2017年中旬WEB渗透系列课程-23提权认识
X站神器-灰长给力-X站神器-灰长给力-
2017年中旬WEB渗透系列课程-11注入的其他姿势2017年中旬WEB渗透系列课程-11注入的其他姿势
2017年中旬WEB渗透系列课程-10基于提交方式注入的分析2017年中旬WEB渗透系列课程-10基于提交方式注入的分析
2017年中旬WEB渗透系列课程-09Mysql注入跨库2017年中旬WEB渗透系列课程-09Mysql注入跨库
2017年中旬WEB渗透系列课程-08Mysql注入读写2017年中旬WEB渗透系列课程-08Mysql注入读写
2017年中旬WEB渗透系列课程-07Mysql常规注入2017年中旬WEB渗透系列课程-07Mysql常规注入
2017年中旬WEB渗透系列课程-06Mysql注入分析2017年中旬WEB渗透系列课程-06Mysql注入分析
2017年中旬WEB渗透系列课程-05Access注入分析2017年中旬WEB渗透系列课程-05Access注入分析

Yahoo 邮箱存储型XSS

[复制链接]
djg222000 发表于 2017-12-4 08:08:42 | 显示全部楼层 |阅读模式
查看: 220|回复: 0

马上注册,加入HACK80!与我们一起交流。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
前言
Yahoo邮箱安全漏洞于上周修复。 该漏洞允许攻击者读取受害者的电子邮件或创建病毒感染雅虎邮件帐户。
攻击需要受害者查看攻击者发送的电子邮件,但无需进一步的互动(如:点击链接或打开附件)。
它如何被发现
据去年报道的Yahoo邮箱漏洞将近一周年,我(JP)决定换个角度看一下Yahoo邮箱还有什么问题。我觉得从基本的HTML标签过滤寻找突破口可能性不大。不过,我在邮件撰写视图中,我发现了许多我去年没有关注到的附件选项。我写了一封包含不同类型附件的邮件并将其发送到外部邮箱。这样我就可以查看这封“原始”的邮件都包含了什么。
例如,这里是“从云提供程序共享文件”选项。 这不会创建传统的电子邮件附件,但会将一些装饰性的HTML链接插入到Google文档或Dropbox中。
HTML的data- * 自定义数据属性引起了我的注意。首先,我发现雅虎邮箱过滤器没有完全拦截我去年辛苦枚举的HTML属性。然后,因为data- * 自定义数据属性用来存储JavaScript使用的应用程序数据。因此,这里似乎存在一个新潜在攻击源。 它可以嵌入多个HTML属性并绕过 Yahoo的HTML过滤器和特殊处理。
为了进一步了解:data-* ,我查看了Chrome开发者工具中的Sources标签,并在邮件阅读视图加载的JavaScript文件中查找了数据网址的引用。我还发现一件事,雅虎邮件中YouTube链接也可以导致XSS。在电子邮件撰写视图中输入YouTube视频链接生成类似的“链接增强器卡”标记,它包括一组data- *:
当包含这种标签的消息在Yahoo邮件中打开时,它将增加嵌入在IFRAME标签中的视频。视频旁边还显示一个分享按钮。 这些功能是通过Yahoo Mail的JavaScript代码使用所述data- *属性构建的。
我试着创建一个包含可以被恶意利用的“data- *”的电子邮件,成功了。病毒扩散得很快。在data-url值中插入报价符号会会破坏共享按钮的HTML。 只要网址指向白名单网站(如YouTube),就不会被进一步检查或重新编码。 该值用于设置div innerHTML以创建按钮。
下面是我的迷你测试用例:
在雅虎邮箱查看邮件时,链接增强JavaScript将使用data-url属性呈现按钮。属性中的HTML片段将在页面上呈现 – 具有任意onerror属性的<IMG>标记,这会导致攻击者提供的JavaScript被立即执行。
出现问题的代码如下:
该函数被t.shareMenu.generateButton(r.cardUrl,s)调用,第一个参数是嵌入在电子邮件中的data-url属性的值。
我们可以看到,按钮HTML是通过简单的连接字符串形成的,其中之一是data-url值。
影响
这个bug的影响与去年的雅虎邮箱存储型XSS案例相同。
为了证明这个漏洞,我向Yahoo Security发送了一封电子邮件,当对方查看邮件时,恶意代码将利用AJAX读取用户收件箱内容并将其发送到攻击者服务器。 此外,去年的“签名病毒”payload 仍然有效。
讲解
当HTML由JavaScript生成并插入到文档中时,通过设置元素的innerHTML属性或调用document.write(),但没有正确处理用户输入值,就会出现基于DOM的XSS 。
或许通过设置element.innerHTML生成动态内容应该被视为反模式。 使用document.createElement(),element.setAttribute()等来处理DOM会跳过不必要的HTML解析/编码/解码阶段,即可消除基于DOM的XSS。
厂商回复
该漏洞已于11月12日通过HackerOne报告给雅虎安全部门,漏洞于2016年11月29日确定。雅虎奖励$100000给白帽子。
积分
该漏洞是 JoukoPynnönen(Klikki Oy,芬兰)发现的。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|HACK80 ( 沪ICP备15007512号 )

GMT+8, 2017-12-15 12:24 , Processed in 0.059314 second(s), 24 queries .

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.