网络安全 频道

跨站漏洞让网易邮箱成为黑客后院

    【IT168 专稿】网络上曾经有过关于XSS攻击与防御的文章,但是随着攻击技术的进步,以前的关于XSS攻击的看法与理论已经不能满足现在的攻击与防御的需要了,而且由于这种对于跨站脚本认识上的混乱,导致现在很多的程序都存在着XSS过滤不严的问题,希望本文能给写程序的和研究程序的带来一点思路。

    这里要是以网易邮箱存在的XSS(跨站脚本)漏洞为例子。在解说漏洞以前,先普及一下相关知识。

    首先先来看看跨站脚本漏洞的成因,所谓XSS漏洞它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。  

    数据流程如下:

    这样我们就可以清楚的看到Html代码是如何进入受害者浏览器的了,我们也就可以根据这个流程来讨论跨站脚本的攻击与防御了!

    比较早的跨站用于获取cookie,早期许多web程序设计时cookie里明文保存了密码;当web程序采用session认证时,跨站又可以收集session从而达到与被害者一起登陆网站的目的;然而跨站最最大的危害是可以让用户不知不觉地访问一个恶意页面,从而被植入恶意程序或者执行恶意命令,破坏力是极大的。

    返回正题,网易信箱经过多次折磨后在img图形标记上已经下了点功夫,把很多字符都转义或者过滤掉了。

    这里省略掉若干失败和实验的过程,直接引入img的另一个标签dynsrc。格式为<img dynsrc=”url”>,其中url可以为绝对地址或者相对地址;当然我们这里要使用脚本代码了。

    需要说明的是:这个标签只在IE浏览器里正常运行。

    让我们一起看下整个利用过程吧。

    1.测试XSS
    新建一个邮件,填好收件人和邮件主题,在正文的工具栏里有个勾选框可以编辑html格式的内容,如图

    勾选后输入如下内容:<img dynsrc=javascript:alert(“hi,163”)>,如图

    点击发送后再收取并打开刚刚的邮件,发现跳出一个对话框,很明显,在这里我们可以插入htm代码并成功运行。如图

0