【原创】腾讯微博的XSS攻击漏洞。CSRF 攻击原理同防守措施。

深信大家还懂新浪微博在6月28日时有发生的XSS攻击事件了咔嚓?在那么后里,大量初浪微博用户自行发送微博消息和活动关注同名叫“hellosamy“的用户。

1. CSRF攻击原理

到底XSS攻击为什么能够闹这样可怜的威力?现在多网站都应用了Cookie记录访问者的登录状态,在展开一些功能操作时(比如:发微博),服务器判断用户之Cookie记录之登录状态,如果用户是登录状态的尽管允许操作。正常状态下如此的操作看起是平安之,因为服务器假想那些操作都是用户自己积极交的操作。但只要攻击者进行了黑心的渗透(页面脚本注入或者会讲话截取),模拟了用户的操作,这样这些操作就恶意之而可能是含“危险”性之!比如新浪微博里的电动发微博、自动关注等等。

CSRF(Cross site request
forgery),即跨站请求伪造。我们知道XSS是过站脚论攻击,就是在用户之浏览器中推行攻击者的台本,来收获其cookie等消息。而CSRF确实,借用用户之地位,向web
server发送请求,因为该要不是用户本意,所以称为“跨站请求伪造”。

 

相似以在XSS漏洞的网站,也极生或有CSRF漏洞。因为CSRF攻击中的特别“伪造的求”的URL地址,一般是透过XSS攻击来注入及服务器遭到之。所以实际CSRF是因XSS为根基的,也可视作是XSS攻击的一致种植。

XSS攻击分成两类

CSRF一般的口诛笔伐过程是,攻击者向目标网站注入一个恶心的CSRF攻击URL地址(跨站url),当(登录)用户访问某个一定网页经常,如果用户点击了拖欠URL,那么攻击就接触了,我们得以在该恶意之url对应之网页遭到,利用
<img src=”” />
来向目标网站来一个get请求,该请求会携带cookie信息,所以呢不怕借了用户之位置,也即是以假乱真了一个告,该要可以是目标网站被之用户发权力访问的自由请求。也可行使javascript构造一个付表单的post请求。比如构造一个转发的post请求。

     
一像样是来中的攻击,主要依靠的凡应用网页自身之纰漏,将恶意脚本注入到网页,当用户访问这个页面时,恶意脚本也会见跟着执行,这样恶意脚本就能以到用户的有状态数据实施恶意操作,比如发微博、私信等(新浪微博的XSS攻击就是此类)。

为此CSRF的攻击分为了少步,首先使注入恶意URL地址,然后于该地方被写副攻击代码,利用<img>
等标签或者应用Javascript脚本。

另外一样类则是来自外部的攻击,主要指的友善组织XSS跨站漏洞网页还是搜索无目标机以外的发超常站漏洞的网页。如当我们如果渗透一个站点,我们友好组织一个起超过站漏洞的网页,然后构造跨站报句,通过做其他技术,如社会工程学等,欺骗目标服务器的领队打开。

2. CSRF防御

 

2.1 referer

乍浪微博的XSS攻击事件过去了,腾讯微博时还尚未有此类事件,但随即不表明腾讯微博是平安之:)

盖伪造的恳求一般是由第三正网站发起的,所以率先只守护措施就是判定
referer
头,如果未是来自本网站的请求,就判断为CSRF攻击。但是该办法只有能够守跨站的csrf攻击,不能够守护及站的csrf攻击(虽然同站的csrf更难)。

 

2.2 使用验证码

盖自己当时几乎上还于挑腾讯微博之有点应用开发,所以格外经常去逛腾讯微博下频道,想看最近援引的采用来哪(其实是眷恋看看好的施用来没有出吃引进下,很心疼!没有,失望:(!),昨晚于闲逛腾讯微博之运频道,突然好奇心突起,测试了转,竟然叫我意识一个XSS注入点!

每一个根本之post提交页面,使用一个验证码,因为第三在网站是无能为力赢得验证码的。还有用手机验证码,比如转账是下的无绳电话机验证码。

腾讯微博的利用介绍地点基本还是这般的:

2.3 使用token

http://app.t.qq.com/app/intro/xxxxxxxxx

各国一个网页包含一个web server产生的token,
提交时,也拿拖欠token提交至服务器,服务器进行判断,如果token不对,就判断位CSRF攻击。

论这个不知是呀虾米的“test9“应用之牵线地点是这般的:

用相机行事操作以get改吧post,然后在表单中利用token.
尽量利用post也惠及防守CSRF攻击。

http://app.t.qq.com/app/intro/24042/test9/http%253A%252F%252Fappst.qq.com%252Fcgi-bin%252Fwbapps%252Fwb_appstore_app.cgi%253Fappid%253D24042

3. 有价的参阅

 

http://www.ibm.com/developerworks/cn/web/1102\_niugang\_csrf/

观后的“http%253A%252F%252Fappst.qq.com%252Fcgi-bin%252Fwbapps%252Fwb_appstore_app.cgi%253Fappid%253D24042”这串东西从来不?很显眼是一个URL地址,这个URL地址以乌用到为?我们开拓那运的牵线地点,然后查转源码,会发觉此URL地址会当一个iframe里冒出,如下图:

http://drops.wooyun.org/papers/155

图片 1

http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html\#!comments

 

https://www.owasp.org/index.php/Category:OWASP\_CSRFGuard\_Project

如果我们于那URL里加点东西会怎样?试试,改这样的地址:

http://www.hanguofeng.com/archives/security/preventing-csrf

http://app.t.qq.com/app/intro/24042/test9/http%253A%252F%252Fappst.qq.com%252Fcgi-bin%252Fwbapps%252Fwb\_appstore\_app.cgi%253Fappid%253D24042%22%20onload=%22alert(‘Hello’);)

4. 使用 OWASP CSRFGuard 防御 CSRF

也不怕是将那URL改吗这样的URL数据(未编码)

https://www.owasp.org/index.php/Category:OWASP\_CSRFGuard\_Project

http://appst.qq.com/cgi-bin/wbapps/wb_appstore_app.cgi?appid=24042" onload="alert('Hello');

https://www.owasp.org/index.php/CSRFGuard\_3\_User\_Manual

 

http://blog.csdn.net/testing\_is\_believing/article/details/11672553

顾上面的链接,浏览器为本人Say hello(如下),很好!很好!

 

图片 2

源码就改为了这么的:

图片 3

 

注意:在IE9下,上面的XSS注入无效,只针对IE8及以下实用,IE9里用会见这么提示:

图片 4

还要上面的代码里会自动将onload给换掉,如下图:

图片 5

 

虽IE9里不可知组成XSS攻击,但是现在有小人口在用IE9呢?

哼了,注入点发出矣,后面该做呀的即使举行什么吧,打酱油的打酱油,泡妞的泡妞吧。具体哪打酱油、泡妞,我虽不再叫你们了,嘿嘿,我没有你们这样可怜:)

 

确实想看XSS攻击力量?要猛点这里!
(注:此演示需要以公都登录腾讯微博的场面下才能够XSS攻击成功,如果成功,你将会晤自行关注本身的微博http://t.qq.com/kingthy同发送一长微博信息)

 

备考说明:此漏洞以自发此日志前我既报告腾讯官方,所以若你见到我当即篇稿子后,发现上面的漏洞根本无法使用了,那就算是腾讯已修复了这漏洞。如果还无修复,那只能说腾讯不讲究或者还以打酱油ING……

 

声称:请无以这漏洞做另外非法的转业!否则造成的另后果都咸由你个人承担!本人概不负责!!!!

         文章转载请注明本人博客来源地址!

相关文章