漏洞详情

披露状态:

2015-07-12: 细节已通知厂商并且等待厂商处理中
2015-07-14: 厂商已经确认,细节仅向厂商公开
2015-07-24: 细节向核心白帽子及相关领域专家公开
2015-08-03: 细节向普通白帽子公开
2015-08-13: 细节向实习白帽子公开
2015-08-28: 细节向公众公开

简要描述:

新浪核心站点高危XSS+涉及缺陷隐患可造成大规模蠕虫攻击+劫持微博账号

详细说明:

从发现到利用大概研究了快50分钟了,写完睡觉去,快1点了
新浪show

http://show.sina.com.cn/


核心站点,业务范围不多介绍了
漏洞简单描述一下:
个人空间处

http://space.show.sina.com.cn/


发表日志处添加音乐,插入xss即可

46.png


方便测试,给出简洁的demo地址,直接访问即可触发demo alert(wooyun):

http://space.show.sina.com.cn/bloglist.php?space_uid=218835112


47.png


======================================
漏洞讲完了,重点讲利用过程
新浪所有核心重要站点cookie都做了httponly,cookie其实并么有什么卵用
看一下cookie就一目了然了

48.png


show有两种登录方式,

50.png


经过反复测试:
若用户A登陆的是show账号,没有登录微博,那么只能造成第一种蠕虫:

第一处:新浪show空间发表恶意代码日志进行蠕虫传播


抓包构造内容发送即可。
若用户A登陆show用的是微博登陆方式,而不是shwo账号,只能造成第二种蠕虫(因为show空间日志系统不对非show账号的用户开放,无法开通):

第二处:新浪微博,对weibo本身不存在,但是可以使用户在微博发show链接地址,不断地诱导访问蠕虫传播


参考:

http://wooyun.org/bugs/wooyun-2010-098586


A Simple Result:

49.png


若用户A登陆show用的是show账号,另外别的标签页登陆了微博,那么两种蠕虫传播方式均可
#劫持用户微博账号
新浪sso认证体系中存在这样一个隐患
微博用户访问以下URL可以获得ticket:

http://login.sina.com.cn/sso/crossdomain.php?action=login


51.png


关键的是:

这个ticket是一次性会话,而且没有时间限制,就是说,在别的地方能使用ticket登录帐号


所以get了ticket
访问以下URL:

http://passport.weibo.com/wbsso/login?ticket=**********


即可在另一地方登陆该用户微博账户。
本地测试用的是微博账号登陆show,访问构造好的脚本xss,服务端下的结果:

54.png


打开Firefox来访问:

52.png


访问weibo.com
最终结果,成功劫持:

53.png


(End)睡觉去

漏洞证明:

修复方案:

标签: none

评论已关闭