从一个被忽略的漏洞到XSS僵尸网络

  XSS漏洞!你关注了吗?或者说你重视了没?某些互联网企业对于这一漏洞的态度是直接忽略。但这个XSS漏洞在Gainover眼里还可以做很多事。对了,忘记说了,Gainover是一位生物学博士。

  以下是Gainover的演讲全文:

  XSS是一个非常古老的漏洞,但是在互联网里还是普遍存在的。我今天给大家看一看,为什么说它普遍存在,是存在什么样的程度?

  我实际上是一个不严肃的人,我是一个喜欢卖萌的人。我来过两次北京,上次路过北京天安门,但是我是在天安门地铁下面,所以我天安门也没看到就回去了,我来是为了一个会议,这个会议叫做中国细胞生物学大会。

  大家认识我的以为我是搞计算机的,实际上我是一个生物研究工作者。当然,你不要问我,转基因到底有没有危害?这个其实我也不是很好明确地回答你们。但是你们可以问我,XSS漏洞是什么?

  这个东西我不会多讲,我可以简单地说一下,当你浏览一个正常页面的时候,如果这个正常页面能够被攻击者在里面插入恶意代码,来执行他们目的的话,我们可以说这个页面存在XSS漏洞。

  这个可以是网站本身的代码问题,也可以是用来渲染这个浏览器本身存在的问题,都可以导致XSS漏洞。什么是XSS漏洞挖掘呢?就是你想办法把网页插到别人的网页中去。今天的关注点在XSS漏洞利用上,这个在乌云上有很多案例了,大家平时用的最多的,用XSS来窃取客户的Cookies,这个在乌云推出来一个XSS漏洞利用平台,这个攻击实际上被推到了顶峰。

  后来有一些厂商,百度后来把这个机制加上,用来缓解XSS漏洞利用方式。乌云还有一个导致XSS漏洞利用,叫XSS盲导。这点由于简单粗暴的方式,也导致大家把这个发挥到极致了。还有三类,我用红色图标给标出来的,也是将XSS危害发挥到极致的方式了。

  大家听说过XSS是蠕虫,它会放大的,有了XSS蠕虫,像微博,百度贴吧,都发生过这个蠕虫案例的。我在这里说一下,黑客可能发一条微博,这个链接里会有恶意代码,当客户点击黑客发布的内容或者链接之后的话,这个代码会让用户自己也发条微博,这里同样也会发这个恶意代码。

  这样的话,含有恶意代码的微博会呈现几何级增长的,所以可以在很短时间内得到很大的爆发量,这对社交网络来说是危害很大的攻击方式。

  另外,XSS分布式服务攻击,这个一直是停留在概念上的东西,这段时间有一个实际案例,就是利用搜狐视频漏洞进行攻击,这是老外先报出来的,国外媒体也纷纷报道了。

  这个实际上,黑客在大的网站,像搜狐视频网站里去插入这样一个恶意代码,当用户访问大流量网站,比如在观看视频的时候,用户浏览器会自动执行黑客命令,黑客命令可能会向他所要攻击的目标网站,一秒钟发出请求,搜狐有十万客户观看这个视频的话,就呈几何级的增长,这样使目标网站停止服务了。

  这个案例也是我们团队发在乌云上的一个案例,这叫水坑攻击,这个在XSS,我们现在把这个概念结合起来了,恩为什么叫水坑攻击?就是有时候我们要去攻击某个目标的话,实际上是你很难接触到它的,在这个时间里,比如说李开复,我们想去给李开复发一个链接,都很难直接发的,我们不知道他的联系方式什么的,想直接攻击他是不可能的,但是我们是可以知道李开复会去上36k的,我们可以在这里植入XSS,在我们等四天之后,李开复中了我们XSS,我们当时结合QQ的漏洞,就是让李开复关注了乌云漏洞报告平台,在这个过程中不光李开复受到影响了,还有其他的,只要经常上36K的,36K只是其中一个网站,我们还会在很多网站上插入这个XSS。为什么叫水坑攻击?

  比如你在大草原的话,比如说我是狮子的话,我想找猎物,但是大草原太大了,我哪里去找呢?但是动物都喝水,我就蹲在水坑等着,等动物来喝水我就把它捉到了。

  大家要注意这个漏洞有一个特点,第一个,实际上我们在36K插入XSS的话,实际上并不是36K本身网站的漏洞,它本身网站我们也没去找,是因为36K在当时用了第三方的评论插件,我忘了叫什么名字了,这个插件本身是有漏洞,我们可以往里插恶意代码,这样的话在36K在第三方评论插件劫持了QQ漏洞,然后使李开复关注了乌云漏洞平台。

  实际上36K对我们一点用没有用,我们要劫持的是QQ的信息。

  虽然说我前面讲了XSS利用方式有这些,可能还有其他方式,我这里没有提及。厂商和攻击者对XSS分别是什么样的态度呢?实际上XSS漏洞相比传统的,它的危害确实要小很多,对于一些厂商来说的话,特别是国内的一些厂商,这种类型的漏洞就像牛皮癣一样,清都清不完,它一直存在。厂商有的时候要么修,要么有的觉得域名不重要就不修了。

  对攻击者来说,实际上XSS可以干很多事情,首先,可以获取个人信息,这个待会儿我要给大家演示的。

  第二个,XSS是用来伪造钓鱼页面,实际上我平时身边也有人在淘宝上买东西,别人告诉他退款,让他输入银行帐号密码什么的,可能前面装的很像,但是容易露馅的就是发来乱七八糟的域名,就让人警觉。如果配合XSS漏洞的话,在域名或者页面上很难判断是页面自己的还是黑客构造出来的,这对用户来说很难区分出来的。

  这个黑色产业已经在这样做了,在乌云上有一个实际案例,就是利用搜狗拼音来钓鱼的案例。

  现在是应题了,叫一个被忽略的漏洞。这个漏洞是在2013年发布出来的,叫优库分站一个存储型XSS漏洞。这个漏洞是被优酷忽略的,这个漏洞不光危害是高,而且很高。这个是发漏洞的一个截图证明,在这上面确实很难看出来危害,无法就是优酷的一个视频里面有一个XSS,可以弹出这样一个框框,就是不能直接看出它的危害。

  后来这个危害还被忽略了,也公开了,包括我现在还在讲,这个漏洞还没被修。为什么会被忽略,这个是我不能理解的。首先我猜,难道是因为存在缺陷的域名不是优酷自己的域名。

  实际上,XSS影响域名的话,大家可以看到,它确实是优酷.com,至少从影响的域名来看的话是应该被修的,而不是被忽略的漏洞。第二,哪怕你是第三方文件导致自身的域名,不是你自己文件下的,为什么没有通知第三方来修,这也是我不能理解的。漏洞被忽略之后会有什么后果?

  现在我们就一起来看一下,这个忽略了一年多的漏洞到底是什么后果呢?大家看到我打开优酷,这个说明首页上就可以执行恶意代码,不光是优酷,土豆也一样,这是我测试的时候的提示,酷6也是一样,这是曾经出过漏洞的搜狐视频,也是一样,也就是说,用户只要曾经访问过我们恶意构造的页面,之后不管他看哪个页面都会执行我们恶意代码的。也就是说,这些视频网站都受影响的。

  问题一,到底有多少个网站会受到这个漏洞的影响?我们看一下,我们在某些网站上,就像我刚才在36K评论一样,在上面插一些XSS,用户在路过36K的时候就会被我们感染了刚才那个漏洞代码,接下来他去看优酷视频或者其他视频网站的时候,就会执行我们这个恶意代码。

  大家知道,有很多网站会调用优酷网或者其他网站,这样它们也是很大的受害群体。为了研究到底有多少网站受到漏洞影响?我们是做这样的实验,我和我们团队的人一起来做这样的测试,我们找了一些网站,这个网站被我们拿来做测试,表示抱歉,但这个也没办法。

  我们在这里插入XSS五之后,我们开始看这个,它们被我们感染恶意代码,它们访问用户的时候或者其他网站的时候,我们恶意代码会让它们去调用我们一个我们指定的网站,在访问日志里会记录这些用户在哪些网站访问到我们的。我们统计结果是什么样的?

  这是在一段时间内统计的,我们一共得到了2.39G的访问日志,所有的受害者向我们指定的发送了9513830次请求,我们在请求里访问来源以后一共有2831个域名受影响。我们取了前20名,第一名是优酷,第二个是车的网站,SCAR,包括360也受牵连了在里面,还有其他的,还有我没见过域名的网站,这些都是被统计出来的。

  问题二,对XSS不了解或者不理解它的危害,可能看我之前的视频,弹个OK,弹个OK,到底有什么用呢?

  我给大家看一下,怎么从OK,到真实数据的泄漏,会泄漏什么数据,黑客会获得什么数据,我们看一个视频,大家在生活中,对普通网民来说用的就是QQ,大家也比较关心QQ上面的数据,而且了解我的,知道我喜欢黑腾讯,所以我来拿它做演示。

  现在黑客把代码改成真实的代码了,我就像刚才那样打开页面,我正在看QQ空间,这个是大家正常浏览,但是没有想到的是内容更新了,然后我去上优酷网,大家可以看到这个时候恶意代码已经被执行了,这都是模拟大家在做的操作,最后我们来看看黑客这边得到了什么?

  大家可以看到,我用自己QQ做的测试,这里访问了优酷之后,你QQ所有好友被发送到黑客这边,这个只是拿好友数据做掩饰,可能其他数据也会因此而泄漏。

  我们拿优酷做演示,就是你曾经访问了我恶意构造的网页后,你去看某些视频网站,你的信息都是会被发送到我这边的,而且更关键的是,这个东西只要你不清理它,它一直存在在你电脑上的,总有一天你会上钩的。

  就这样完了吗?当然不止这些危害,这个不仅仅是个漏洞,这是我2013年10月24号我在漏洞下面做的一个评论,我是这么说的,问题很隐蔽,这个开发人员肯定是注意不到的,只要是有这么用的,估计都会存在问题。这是当时我在漏洞下面做的评论。

  后来的话,我看还存在哪些问题?我们看一下乌云已经公开的案例,实际上这三个漏洞的话,与我多少都有点关系,不管是马甲还是间接报告,还是怎么样的,实际上我发了这个之后还是没有引起太多各大企业的注意。第一,全部博客可留后门。

  你只要你是新浪博客用户,不管你以后访问新浪博客任意文件,都会执行我这个恶意代码的。第二个,淘宝支付宝的,这个叫一个可大规模悄无声息窃取淘宝支付宝帐号的。这个标题看起来很大,但是实际上一点都不危言耸听的。

  这些企业不知道自查周期比较长还是怎么样的,同样的漏洞在阿里云服务上一样存在的,后来也被报告修复了。现在我看了一下,淘宝相关的页面上,同等类型漏洞都已经做了相应保护措施了,他们已经意识到这个漏洞危害的严重性了。

  其实我今天给大家讲的,就是说漏洞这块东西,就说到这里。我标题还有后半部分,叫XSS僵尸网络。这个东西敢这么说的话,是有一定漏洞基础的,是因为这个漏洞本身特点决定,它是可以用来做这个东西的。首先,隐蔽性。

  为什么说它隐蔽?这个漏洞本身特点,你想想,对于一个用户来说,可能很多用户对钓鱼网站网址都分不清楚的,你让他在页面来看原代码,看它上面是不是存在恶意代码,这是根本没可能的。

  第二个,传统的杀毒软件,它是很难去防这类攻击的,这个东西对于软件来说,至少很难有办法去区分,是XSS,还是这个网站本身的。所以对用户这一层的话,用户是很难去发觉他们是已经中招的了。

  哪怕我自己搞这方面的,如果不专门看的话,我自己很难察觉,所以我也自己也很担心这类漏洞。这个对厂商来说,这与传统的漏洞不太一样的,传统的是在页面里插一段代码,你接到报告说这个页面有问题,厂商查的话,发现这里黑客插了一段代码。

  但是对XSS来说,这个漏洞是存在用户电脑本地存储上的,用户觉得页面有问题,让厂商去查,厂商去看页面完全没有任何问题,然后就不再过去了。这样的话不管是最用户还是厂商来说,这种类型的漏洞隐蔽性是特别好的。

  第二个,持久性。这是一个长期存在用户电脑上的,这个漏洞原理也是发过的,大家可以看看,它用Flash本地存储,如果你不是自己去清Flash Cookies的话是很难清掉的。

  我记得360软件Flash Cookies是勾上的,以前我看安全卫士软件的话,Flash Cookies是不勾上的,就是用户清理垃圾什么的,不会清理掉这些垃圾,这样的话,这个东西就是在用户电脑上长期存在。

  另外的话,那些软件去来清理这些东西,它就是找到浏览器默认的Flash Cookies存放目录对它清除。我现在不知道第三方有没有清除这个,如果没有我建议以后可以做上。如果没有的话,这个后果很严重的,按照我前面演示,如果这次没有打开网页或者QQ空间不会被窃取,但总有一天你会被窃取。

  第三,流量大。大家可以看到这种类型的漏洞影响到了,基本上是全国所有视频网站,当然有些网站没有用那个代码的话就没有。

  第二个,电商类的也是受影响的,虽然现在都修了。第三个,新浪微博也是受影响的,这也是大流量的社交网站。所以说这个受影响的用户量是非常大的。

  其次,用户页面时间停留长,大家可以看到,特别是对于视频网站来说,它的用户基本上都在看视频,一个小时、两个小时,恶意代码就会在那里被执行一个小时、两个小时,这样黑客利用代码可以获得很长执行时间的,这为后面的攻击是能够提供很大的帮助的。

  最后,基于这些特点的话,这跟前面原理差不多的,我们可以看到,黑客首先做一个感染阶段,它首先找一些比较好入侵的,或者有漏洞的中小型的网站去入侵,入侵了之后就在里面插入这样一个XSS代码,因为这些中小型网站它在上面用户Cookies有什么用啊,一点用没有,所以黑客不会偷这个,它的目的是植入后续的XSS,接着这些FLash XSS在感染到足够用户数量之后,我们可以让FLash XSS执行黑客的操作,最简单的就是信息窃取,当感染数量达到一百万的时候,我假设里面只有1%的用户,比方说他先看QQ空间,再看网站的话,就会有一万人的数据窃取,这可能只是一天的数据,如果是一个月呢?一年呢?

  因为这个漏洞不宜被发现,不易被清理,所以这个积累到一年的话危害是非常大的。而且这些受害者,在看视频的时候,他的浏览器可以被黑客做一些事情的。当然,这个还会有其他的利用方式,这个就要发挥想象力了。所以我这里总结了一下,这种类型的做僵尸网络的话,首先感染阶段,然后是执行阶段,从危害上来说的话,我觉得影响几乎全国所有网站的。下面可以进行提问。

 

上一篇:智能无惧挑战 山石网科轰动RSA2015

下一篇:数字链系统供应安全:外包代码开放