导语:Klikki Oy安全公司的安全研究员Jouko Pynnönen在雅虎邮箱服务上发现了一个基于DOM的存储型XSS,如果被攻击者成功利用,便可以向任何人发送含有恶意代码的邮件。
雅虎邮箱自1996年开始,在全球范围内为用户提供电子邮箱服务。截至目前为止,它可同时为全球2.43亿邮箱用户提供服务,是全球用户量最多的邮箱服务商。但是最近有安全研究员在其服务上发现了一枚严重漏洞,可查看所有雅虎用户的邮件。
Klikki Oy安全公司中一芬兰安全研究员Jouko Pynnönen在雅虎邮箱服务上发现了一个基于DOM的存储型XSS,如果被攻击者成功利用,便可以向任何人发送含有恶意代码的邮件。
Jouko Pynnönen在其博客中发布了他的这一发现,演示了一个恶意攻击者是如何发送受害者信箱到一个外部网站,另外他还创建了一个病毒,绑缚在邮件签名中,所以受害者发送出去的每一封邮件中都会含有恶意代码。
因为恶意代码存在于邮件正文中,所以只要用户打开邮件,恶意代码就会自动执行,隐藏的payload脚本就会悄悄的将受害者信箱中的所有内容转发至受攻击者控制的一个外部网站上。在整个攻击过程中,不需要受害者任何的交互作用,不需要受害者点击某个链接,也不需要受害者打开某个附件,所有的攻击行为都能悄悄的完成。
测试案例
From: <[email protected]> Subject: hello To: [email protected] MIME-Version: 1.0 Content-type: text/html <div data-url="https://www.youtube.com/aaa"><img src=x onerror=alert(/xss/)><"> <div> <a></a> </div></div>
究其根源,是因为雅虎邮箱没有正确的过滤掉HTML邮件中的恶意代码。Pynnönen采用填鸭式的方法,将所有已知的HTML标签和HTML属性添加进邮件的HTML中,雅虎的邮箱过滤器没办法过滤掉所有的恶意HTML,总有漏网之鱼,所以就导致了存储型XSS漏洞的出现。
正如Pynnönen提供给雅虎安全部门的POC中所说的那样,利用AJAX能读取到用户信箱中的内容,然后发送至攻击者服务器。Pynnönen也因该漏洞获得了雅虎提供的10,000美元的漏洞奖金。