悬镜安全丨雅虎邮箱存储型XSS漏洞,黑客可以看到你发的每一个邮件
来源:互联网 发布:淘宝购物网货到付款 编辑:程序博客网 时间:2024/05/16 12:03
你能想象自己发出去的邮件被别人看到的情景吗?你能接受别人不经你的同意就可以看到你发的邮件吗?你能忍受别人不经你的同意,就随便售卖你的个人信息吗?
下面这个新闻绝对会震撼到你,我们的信息正在被无情的泄露,暴露在光天化日之下,就好像一个不穿衣服的人被大众都看到一样。
以下资讯*参考来源:klikki,本文作者:Sphinx,转载来自FreeBuf(FreeBuf.com)
最近来自芬兰Klikki Oy的研究员Jouko Pynnönen发表了一篇博客,其中演示了恶意攻击者如何利用XSS漏洞攻下雅虎邮箱,将受害者收件箱中的邮件发到外部站点;以及构建病毒,这个病毒可以通过向邮件签名中添加恶意脚本,附加在所有传出的电子邮件中。
由于恶意代码就位于邮件消息的正文中,代码会在受害者打开邮件时立即执行,不需要其他交互过程。所有问题的症结实际上在于雅虎邮箱无法正确过滤HTML邮件中潜在的恶意代码。
以下是对这名研究人员博客文章的内容编译:
发现历程
离去年给雅虎挖洞也快一周年了,这个时间点我也打算再来一发。
一开始我觉得基本的HTML过滤应该不会再有漏洞了,但在最近写邮件的时候,我发现了很多添加附件的选项,这些选项我去年倒是没有太注意。
然后我写了一封邮件,里面包含各种附件,并发到某外部邮箱,这样我就可以检查邮件的HTML源码了。
雅虎邮箱提供了一项功能,可以从云服务中分享文件。
在邮件中进行分享之后,文件不会附在邮件的附件中,而是会使用HTML代码插入一个链接,比如Google文档/Dropbox的链接。
在此,data-* HTML属性吸引了我的注意。首先是因为我去年穷举了一些雅虎邮箱过滤所允许的HTML属性,但是没有能够穷举出全部属性。
第二,由于data-*属性存储的为Javascript所用的特定应用数据,所以这可能是个不错的攻击切入点。
也就是说,可以在邮件中嵌入一些HTML属性绕过雅虎邮箱的过滤。
为了进一步了解data-*属性,我使用Chrome的开发者工具进入源码标签,寻找JavaScript文件中引用的data-url属性。
我发现YouTube的链接也会被雅虎邮箱“优化”,如果你在邮件中输入Youtube的视频链接,雅虎邮箱就会自动帮你生成一个“链接加强卡片”,如下图所示,卡片中会包含一些data-*属性。
当用户打开包含这类“卡片”的邮件,雅虎就会通过<IFRAME>嵌入视频,视频旁边还会有一个分享按钮,这些功能就是通过雅虎邮箱JS代码的data-*属性实现的。
接下来,我尝试用data-*属性构造邮件,漏洞有了!如果我们在data-url这个值中插入引号,就会导致分享按钮的HTML无法正确解析。
而只要URL指向的网站在雅虎的白名单中,比如指向Youtube,雅虎就不会再进行检查或者编码。
data-url的值会被用来设置innerHTML div创建按钮:
我进行的测试如下:
当我从雅虎邮箱打开邮件时,那段针对链接进行“优化”的JavaScript代码会使用data-url属性来渲染按钮。
而隐藏在属性中的HTML片段也会随之加载,我所添加的HTML代码是一个包含onerror属性的<IMG>,攻击者的恶意代码也就得以执行。
实际上,这个问题的症结可以追溯到雅虎邮箱的一个函数:
这个函数名称为t.shareMenu.generateButton(r.cardUrl,s),第一个参数就是邮件中嵌入的data-url属性。
可以看到,底部HTML的部分就是直接把字符串拼接了起来,没有做任何修改。
影响
此次发现的这个漏洞的影响跟去年的XSS漏洞实际上是一样的。
为了证明漏洞的存在性,我给雅虎安全部门发了一封邮件,邮件打开时,会使用AJAX读取用户收件箱中的邮件内容,并把它发送到攻击者的服务器。
作者已经于11月12日通过HackerOne向雅虎安全提交了漏洞,11月29日雅虎提供了1万美元的赏金。
置顶悬镜安全实验室公众号,给你最新,最有料的资讯,安全技术干货。
有料丨有趣丨行业丨观点丨
关注悬镜安全实验室
了解最新产品动态
- 悬镜安全丨雅虎邮箱存储型XSS漏洞,黑客可以看到你发的每一个邮件
- 腾讯邮箱邮件正文存储型漏洞
- 看好你的门-XSS攻击(3)-利用存储型XSS漏洞 进行面攻击
- javaMail发邮件的模板代码,如果你用网易邮箱的账号发送邮件失败的话,可以看看
- 存储型xss漏洞的探测方法
- 输入你的邮箱账号,手动向你邮箱发邮件
- 看好你的门-常用WEB安全术语(6)-存储型XSS攻击
- 一次解决存储型xss和csrf漏洞的简单方法
- Web安全 -- XSS漏洞
- 【安全牛学习笔记】存储型XSS漏洞原理及修复方法
- 注册邮箱,发邮件的验证
- 实现邮箱发邮件的功能
- WordPress < 4.1.2 存储型XSS漏洞
- 通过DVWA学习存储型XSS漏洞
- 看好你的门-XSS攻击(1)-利用反射型XSS漏洞 山寨红客插红旗
- 看好你的门-XSS攻击(2)-利用反射型XSS漏洞 进行针对性攻击
- 将激活信息 自动发邮件到你的邮箱中
- 邮箱发邮件
- spring DM demo
- iOS 中如何判断当前是2G/3G/4G/5G/WiFi
- Java Socket编程(三) 并发服务器
- 自定义JSP中的Taglib标签之三简单仿JSTL中带标签体的ForEach循环
- 判断两个时间之间
- 悬镜安全丨雅虎邮箱存储型XSS漏洞,黑客可以看到你发的每一个邮件
- XCode里查询本机IP的Objective-C代码
- PLSQL Developer连接远程数据库
- Java之final关键字
- C语言的#define用法总结
- Java IO流学习总结
- 【后台学习】MyEclipse创建Maven项目
- IO流简单应用(文件加密和解密)
- Android SensorService学习笔记