加入收藏丨  设为首页丨
入侵检测
当前位置:资源啦 > 黑客基地 > 入侵检测

跨站脚本攻击与请求伪造检测一站式登录

时间:2017-12-29 14:41:48  作者:  来源:  查看:0  评论:0
内容摘要:目前流行的网站大多是一站式服务,从各大门户到百度,以及大大小小的团购类网站无不如此。这也是顾及到用户体验的一种设计,确实带来了很大的便利。而一个越是规模大的网站,其业务就越多,根据木桶原理,木板越多,越容易产生短板,而往往最短的那一块又是最容易致命的。本文以国内几个知名网站的部分产品为例,进行一些总结与演示。本文所提到...

目前流行的网站大多是一站式服务,从各大门户到百度,以及大大小小的团购类网站无不如此。这也是顾及到用户体验的一种设计,确实带来了很大的便利。而一个越是规模大的网站,其业务就越多,根据木桶原理,木板越多,越容易产生短板,而往往最短的那一块又是最容易致命的。本文以国内几个知名网站的部分产品为例,进行一些总结与演示。本文所提到的漏洞都是亲测所得,本文发表时厂商已将漏洞修复或者忽略修复。

不安全的登录方式 http网易的 163、126系列邮箱,登录都是采用https加密,局域网嗅探获取明文的概率几乎不可能。而网易的产品线很长,涉及方方面面,很多活动页面甚至需要登录邮箱的处理,就完全存在泄漏的可能。如图 1和图 2所示的一个活动页面的登录处,完全可以通过局域网嗅探获取到用户信息。以上只是举个小例子,类似的地方还有很多。

跨站脚本攻击与请求伪造检测一站式登录

图 1

跨站脚本攻击与请求伪造检测一站式登录

图 2

不重视的CSRF很多人认识不到 CSRF的危害,目前测试的很多大厂商都存在这个问题,有的甚至非常严重。提到蠕虫,很多人首先想到的是XSS,其实CSRF也是蠕虫传播的锋利武器之一。而且CSRF防不胜防,目前测试的各大厂商均存在较为严重的CSRF。

一般来说,GET型CSRF是很容易构造出来的,在论坛发帖构造一个img标签就可以发送一个GET请求,产生一次CSRF攻击。

如图 3所示是QQ美食论坛,点击支持按钮产生的链接,即是一个GET型CSRF。

跨站脚本攻击与请求伪造检测一站式登录

图 3

这就是一个典型的CSRF,我们只需在回复里的照片添加处将该链接加入即可,如图4所示。当我们访问该页面时,就会发送一个GET请求,如此就可以刷支持量了,如图5所示。

跨站脚本攻击与请求伪造检测一站式登录

跨站脚本攻击与请求伪造检测一站式登录

图 5

而在之前版本的,某知名邮箱也存在一个可以将受害人邮件转发到某指定邮箱的CSRF问题,要触发只需要给受害者发一封有img标签的邮件即可。

轻易就能找到的反射型XSS随便打开一个扫描器,扫描某些大厂商的一些小网站,很容易扫到一些反射型的XSS,看上去反射型 XSS略显鸡肋,如果结合CSRF使用,其威力会增强很多倍。

设想如下方案,某站点存在发私信的CSRF漏洞,不巧的是,其类型为POST型,普通GET请求的CSRF不能触发必须结合XSS。因为是大型厂商,存储型 XSS实在不好找,手里只有一个反射型 XSS,那就只能将就用了。伪造反射型 XSS链接后发给某一用户,内容是构造一个 POST表单发送给所有好友一条私信,而私信内容就是这个反射型 XSS的链接。如此,只需要有一个点了这个链接,这个循环就会不停的延续下去,一个蠕虫便形成了。当然,最邪恶的做法是在加载的反射型 XSS里面加上获取 Cookie的代码。

上面的例子看上去和一站式登录、一站式服务没有关系,其实不然,但凡存在 CSRF,一般情况下是没有加 Referer验证的,只要没有此项验证,那么只要该用户在该厂商旗下任一个站点登录,即可触发该 CSRF与 XSS。如此范围就很广阔了,利用起来也就简单了。

不小心遗漏的存储型 XSS所谓言多必失,厂商涉及的产品越多,越容易产生遗漏的地方,从而导致一些存储型XSS。存储型 XSS的危害不必多言,本文提到的是与一站式服务的关系,所以一个站点的存储型 XSS,是可以影响该站点所有未加 Refere验的 CSRF问题的。相比于反射型 XSS,存储型 XSS传播更方便。

跨站脚本攻击与请求伪造检测一站式登录

图 6

继续测试,发现网易的发微博处存在 CSRF,我们只需要构造如下 POC即可发微博,结果如图 7所示。

form action=网址input type=text name=content value=test csrf input type=submit value=submit name=Submit/form

跨站脚本攻击与请求伪造检测一站式登录

图 7

以上看上去几乎是没有任何影响,而且 163.com域名的Cookie都做了httponly处理,反射型 XSS貌似用处不大,而CSRF也只能CSRF自己,但因为一站式登录的问题,使得这两者一结合,威力就显现了出来。我们利用反射型 XSS包含一个远程 js文件,js文件代码如下:

var form = form action=网址;form += input type=text name=content value=网址/DkUeIVH;form += /form;document.body.innerHTML=form;document.forms[0].submit();

万事俱备,只需要传播一下,我们的网址改链接即可完成。效果是任意登录某 163产品的用户点击该链接,即可实现在该账户对应的微博id发布蠕虫链接,如此往复下去,就可以传播开来。如图 8所示。

跨站脚本攻击与请求伪造检测一站式登录

图 8

以上几个例子只是探讨一些思路。一站式登录有利有害,需要各大网站做好每个站点的安全问题,否则千里之堤,很有可能会毁于蚁穴。


© 2017 www.ziyuanla.com 版权所有