[转载]【原创】腾讯微博的XSS攻击漏洞 – Kingthy – 博客园.
相信大家都知道新浪微博在6月28日发生的XSS攻击事件了吧?在那晚里,大量新浪微博用户自动发送微博信息和自动关注一名叫“hellosamy“的用户。
究 竟XSS攻击为什么能有这么大的威力?现在很多网站都采用了Cookie记录访问者的登录状态,在进行某些功能操作时(比如:发微博),服务器判断用户的 Cookie记录的登录状态,如果用户是登录状态的则允许操作。正常情况下这样的操作看起来是安全的,因为服务器假想那些操作都是用户自己主动提交的操 作。但假如攻击者进行了恶意的渗透(页面脚本注入或会话截取),模拟了用户的操作,这样这些操作就是恶意的并且可能是带有“危险”性的!比如新浪微博里的 自动发微博、自动关注等等。
XSS攻击分成两类
一类是来自内部的攻击,主要指的是利用网页自身的漏洞,将恶意脚本注入到网页,当用户访问此页面时,恶意脚本也会跟着执行,这样恶意脚本就能利用到用户的所有状态数据执行恶意操作,比如发微博、私信等(新浪微博的XSS攻击就是此类)。
另一类则是来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。
新浪微博的XSS攻击事件过去了,腾讯微博目前还没有发生此类事件,但这不表明腾讯微博是安全的:)
因 为我这几天都在捣鼓腾讯微博的小应用开发,所以很经常去逛腾讯微博应用频道,想看看最近推荐的应用有哪些(其实是想看到自己的应用有没有被推荐出来,很可 惜!没有,失望:(!),昨晚在闲逛腾讯微博的应用频道,突然好奇心突起,测试了一下,竟然被我发现一个XSS注入点!
腾讯微博的应用介绍地址基本都是这样的:
http://app.t.qq.com/app/intro/xxxxxxxxx
比如这个不知是什么虾米的“test9“应用的介绍地址是这样的:
看 到后面的“http%253A%252F%252Fappst.qq.com%252Fcgi- bin%252Fwbapps%252Fwb_appstore_app.cgi%253Fappid%253D24042”这串东西没有?很明显是一个 URL地址,这个URL地址在哪里用到呢?我们打开那应用的介绍地址,然后查看一下源码,会发现这个URL地址会在一个iframe里出现,如下图:
如果我们在那URL里加点东西会怎样?试试,改这样的地址:
也就是将那URL改为这样的URL数据(未编码)
http://appst.qq.com/cgi-bin/wbapps/wb_appstore_app.cgi?appid=24042" onload="alert('Hello');
访问上面的链接,浏览器向我Say hello(如下),很好!很好!
源码就成了这样的:
注意:在IE9下,上面的XSS注入无效,只对IE8及以下有效,IE9里将会这样提示:
并且上面的代码里会自动将onload给转换掉,如下图:
虽然IE9里不能构成XSS攻击,但是现在有多少人在用IE9呢?
好了,注入点有了,后面该做什么的就做什么吧,打酱油的打酱油,泡妞的泡妞吧。具体如何打酱油、泡妞,我就不再教你们了,嘿嘿,我没有你们这么坏:)
真的想看XSS攻击效果?请猛点这里! (注:此演示需要在您已登录腾讯微博的情况下才能XSS攻击成功,如果成功,你将会自动关注我的微博http://t.qq.com/kingthy和发送一条微博信息)
备注说明:此漏洞在我发此日志前我已告诉腾讯官方,所以如果你看到我这篇文章后,发现上面的漏洞根本无法使用了,那就是腾讯已修复了此漏洞。如果还未修复,那只能说腾讯不重视或者还在打酱油ING……
声明:请勿利用此漏洞做任何非法的事!否则造成的任何后果都全由你个人承担!本人概不负责!!!!
文章转载请注明本人博客来源地址!